这是文件夹结构
App
|
├──main.js
├──package-lock.json
├──package.json
|
├──assets
| ├──css
| |
| ├──js
| ├──elem.js
| ├──toggletext.js
|
├──models
| ├──utils.js
|
├──pages
| ├──home.ejs每当我尝试加载utils.js脚本时
<link rel="stylesheet" href="/css/edit.css">
<script src="/js/toggletext.js"></script>
<script src="/js/elem.js"></script>
<script src="/models/utils.js"></script>它没有加载(只是说:出了问题),我得到了这个错误:
Uncaught SyntaxError: Unexpected identifier其余的文件按预期加载。
我使用"ejs":"^3.1.6“、”ejs-伴侣“:"^3.0.0”、“表示”:"^4.17.1“、”方法-重写“:"^3.0.0”、“猫鼬”:"^6.0.13“
这是main.js服务器文件:
const express = require('express');
const mongoose = require('mongoose');
const methodOverride = require("method-override");
const {Project} = require('./models/project')
const app = express();
const path = require('path');
const ejs = require('ejs-mate')
app.engine('ejs', ejs)
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'pages'));
mongoose.connect('mongodb://localhost:27017/a',
{
useNewUrlParser: true
});
const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));
db.once("open", () =>
{
console.log("Connected to db");
});
app.use(express.urlencoded({ extended: true }));
app.use(methodOverride('_method'));
app.use(express.static(path.join(__dirname, 'assets')));当我将utils.js文件放入资产/js中时,它将完美地加载
发布于 2021-12-01 12:46:40
在最后一行中,您定义了express应该提供对位于assets文件夹中的静态文件的访问。使用此设置,该文件夹中的所有内容都可以通过互联网访问。utils.js位于此文件夹之外,因此无法通过浏览器获得。我建议将前面所需的所有内容都放在assets文件夹中。
https://stackoverflow.com/questions/70184157
复制相似问题