如何在快速js中包含静态文件

时间:2016-10-07 08:16:28

标签: javascript node.js express ejs

我正在使用带有节点js的express js框架,并且在我的server.js文件中,我已经使用了

app.use('/api',router);

在我的ejs文件中,当我使用脚本标记

<script src = main.js>

我收到错误&#34;无法获得http://localhost:3000/api/main.js&#34; 我怎样才能在ejs中包含这些文件

请帮助!!!

3 个答案:

答案 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>