javascript - 无法在 express 中加载 javascript 文件
问题描述
我正在制作一个快速网络应用程序,但无法导入 javascript 文件。
在board.js
,我有一条线const utility = require('./utility');
。此语句给出错误:ReferenceError: require is not defined
。
VSCode 建议转换const utility = require('./utility');
为 ES6 模块。接受该建议后的结果是:import { generateRandomData } from './utility';
.
如果我这样做,之前的错误就会消失,但会出现一个新的错误SyntaxError: import declarations may only appear at top level of a module
。
这是项目的文件夹结构:
server.js
:
const express = require("express");
const app = express();
const path = require('path');
const PORT = process.env.PORT || 5000
app.listen(PORT, () => {
console.log("server started")
});
app.use(express.static(path.join(__dirname + '/public')))
app.get('/', (req,res) => {
res.sendFile(__dirname + "/index.html")
});
utility.js
:
const hello = () => {
console.log('hello');
}
module.exports.hello = hello;
我还应该如何导入 javascript 文件board.js
?
解决方案
您的公共目录通过 server.js 中的 express.static 变为静态。因此,从客户端调用公共文件不会通过 express 而是通过客户端的浏览器。
如果你的 JS 直接在浏览器中播放,你应该使用import 和 export而不是 require 。
推荐阅读
- php - 如何从表中删除重复值
- c# - 分组方式包括(内部连接)
- javascript - 等待的承诺仍然返回
- google-app-engine - 使用 Google App Engine 和 Google Cloud SQL 的连接池
- c# - 在 byte[] 中调用 void
- python-3.x - 在 MacMojave 上使用 Buildozer 创建 APK 时 Clang++ 失败
- kotlin - 基于 Kotlin 字符串获取索引 0 或 1、实现或目标定义的文档在哪里?
- javascript - 如何将背景图像添加到 HTML5 画布画板?
- python - 比较 PySimpleGUI 和 openPyxl 时如何读取 Nonetypes
- sql - Oracle SQL - 按月在两个日期之间选择用户