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 文件夹中创建一个虚拟文件夹
所以你只需要后退一步。
我的文件夹是这样的: 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 文件夹中创建一个虚拟文件夹 所以你只需要后退一步。