首页 > 解决方案 > 在 nodejs 服务器中处理绝对 url

问题描述

这是我的第一个电子和nodejs项目我需要在我的电子应用程序中加载一个特定的文件夹,最终结构应该是这样的:

我的应用程序

文件夹内容

MyApp 必须从文件夹内容目录中读取内容

import httpServer from './server'

function createMainWindow() {
  const window = new BrowserWindow()

  if (isDevelopment) {
    window.webContents.openDevTools()
  }

  window.loadURL(`http://localhost:18081/${app.getAppPath()}/folder-contents/`)
}

server.js中

const path = require("path");
const http = require('http');
const express = require('express');

const PORT = 18081;

const app = express();
app.use(express.static(process.cwd()));
app.set('port', PORT);

const server = http.createServer(app);
server.listen(PORT, "127.0.0.1");

module.exports = app;

在我的 package.json

"scripts": {
    "dev": "electron-webpack dev",
    "compile": "electron-webpack",
    "dist": "yarn compile && electron-builder",
    "dist:dir": "yarn dist --dir -c.compression=store -c.mac.identity=null",
    "start": "electron ."
  },

启动 npm run dist --mac 并打开 myapp.app 我收到此错误 Cannot GET /folder-contents/

任何想法?

标签: node.jsexpresselectron

解决方案


您可以将文件添加到名为 public 的文件夹中,在其中您可以存储所有静态文件,然后您需要在 app.js 中调用它,例如: app.use(express.static('public') //Public是文件夹的名称,然后您可以在项目中使用该文件夹中显示的所有静态文件,如果这没有清除您的话,如果我错了,这里是一个参考,如果我错了,您会得到正确的答案,请在其他地方更正我。谢谢。 这是一份快递文件


推荐阅读