我正在使用带有节点js的express js框架,并且在我的server.js文件中,我已经使用了
app.use('/api',router);
在我的ejs文件中,当我使用脚本标记
时<script src = main.js>
我收到错误&#34;无法获得http://localhost:3000/api/main.js&#34; 我怎样才能在ejs中包含这些文件
请帮助!!!
答案 0 :(得分:3)
您通过Express - express.static('folder/with/resources')
中包含的中间件提供静态文件。您可以使用app.use
将其添加到中间件链中。
假设您要通过公共网址/dist
提供位于本地文件夹/static
中的静态文件。
import express from 'express';
const app = express();
app.use('static', express.static('dist'));
详细了解here。
答案 1 :(得分:3)
您可以使用express.static中间件
app.use('/public', express.static('directory/containing/your/files'));
express.static的参数是包含您希望使其成为静态文件的目录的路径(您提供的路径可以是相对于启动节点进程的目录,也可以是绝对路径),该目录应该在您的文件系统中可用
然后,您可以需要以下资源:<img src='/public/imagesA.jpg'>
'/ public'挂载路径是可选的,但建议使用
答案 2 :(得分:1)
在app.js中你必须添加静态文件夹目录访问
app.use(express.static(path.join(__dirname, 'public')));
在公共文件夹中添加文件夹文件
--public
----javascript
----css
----img
在javascript中添加你的main.js
并在ejs中添加
<script src = "javascript/main.js"></script>