Node JS 在 ejs 文件中加载 js & css 文件

Node JS loading js & css file in an ejs file

我的文件夹是这样的: server.js 应用程序 --routes.js 观点 --ace-builds-master --\src-无冲突 --ace.js --index.ejs

所以在 'views' 中是我的 ace 编辑器和我的 index.ejs 文件。 我想在我的 index.ejs 文件中调用 ace.js。我需要像下面这样在我的快速路线中创建一个 app.get 吗?

app.get('/ace', function (req, res) {
  res.sendFile('\ace-builds-master\src-noconflict\ace.js');
});

在我的 ejs 文件中,我是这样写的:

<script src="/ace" type="text/javascript" charset="utf-8"> </script>

我在浏览器中加载时收到 "GET http://localhost:8080/ace"

Ejs渲染视图文件,视图可以访问你的静态文件夹。你可以将你的ace文件夹设为静态。它将在视图加载时加载

app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

// Load static files
app.use(express.static(path.join(__dirname, 'ace')));

只需使用

<script src="../ace" type="text/javascript" charset="utf-8"> </script>

代替

<script src="/ace" type="text/javascript" charset="utf-8"> </script>

因为当服务器加载 ejs 时,它会在 public 文件夹中创建一个虚拟文件夹 所以你只需要后退一步。