这是我的 app.js 文件
// Requirements
const express = require("express");
const cors = require("cors");
const path = require("path");
const dotenv = require("dotenv");
dotenv.config({ path: `.env.development` });
require("./src/dataBase/dbConfig.js")
const corsOptions = { origin: process.env.ALLOW_ORIGIN };
const app = express();
app.use(cors(corsOptions));
//template engine
app.set("view engine", "ejs");
app.set("views", path.join(__dirname, "src/views"));
// response handler middleware
app.use(require("./src/utils/response"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, "src/views")));
app.use(require('./src/routes'));
app.get("/", (req, res) => {
res.render("index");
});
if (process.env.NODE_ENV !== "developing") {
app.listen(process.env.PORT, () => {
console.log(`🟢 | Server running | http://localhost:${process.env.PORT}/`);
});
} else {
module.exports = app;
}
这是我在 src/views 中的 index.ejs 文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="module" src="./src//js/handers/fileHandler/loadFiles//loadJs.js"defer></script>
<script type="module" src="./src//js/handers/fileHandler/loadFIles/loadCss.js"defer></script>
<script type="module" src="./src//js/handers/fileHandler/fileHandler.js"defer></script>
<script type="module" src="./src/js/index.js" defer></script>
</head>
<body>
<div class="app"></div>
</body>
</html>
这是我在 src/views/src/js 中的 index.js 文件
console.log("test")
import { loadFiles } from "./handlers/filehandler/fileHandler.js";
loadFiles()
该测试从未被记录。
import
它是在 ES6 中导入 js 文件的“新”方式(称为 ES 模块)。您必须在 package.json 中添加
"type": "module",
,以便节点将使用 ES 模块,这意味着您将能够根据需要使用
import
stament。如果你最终改变了 ES 模块的导入方式,你还必须将所有
require
语句替换为
import
语句。查看这篇