node.js - 在 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/
任何想法?
解决方案
您可以将文件添加到名为 public 的文件夹中,在其中您可以存储所有静态文件,然后您需要在 app.js 中调用它,例如: app.use(express.static('public') //Public是文件夹的名称,然后您可以在项目中使用该文件夹中显示的所有静态文件,如果这没有清除您的话,如果我错了,这里是一个参考,如果我错了,您会得到正确的答案,请在其他地方更正我。谢谢。 这是一份快递文件
推荐阅读
- angular - Angular 9:升级到 Angular 9“9.0.0-rc.5”时出错
- loopback4 - 如何在node js的loopback 4框架中应用搜索api
- create-react-app - 创建 React 应用程序不起作用:错误 @typescript-eslint/eslint-plugin@2.10.0:引擎“节点”与此模块不兼容?
- amazon-web-services - 放大推送通知问题(React Native)
- python - 在包含大量信息的文本中为日期添加字符
- javascript - 多个 HTML 文件仅链接到一个 JS 文件
- algorithm - 如何使用位运算找到运行时间为 O (k) 的单元数
- laravel - Laravel / Eloquent - 如何按字段排序
- python - Pygame 迷宫游戏无法正确创建关卡
- java - 如何在对象数组上设置侦听器?