【问题标题】:Node JS loading js & css file in an ejs file节点 JS 在 ejs 文件中加载 js 和 css 文件
【发布时间】:2016-08-09 10:09:45
【问题描述】:

我的文件夹是这样的: 服务器.js 应用程序 --routes.js 意见 --ace-builds-master --\src-无冲突 --ace.js --index.ejs

所以在“视图”中是我的 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

【问题讨论】:

    标签: javascript css node.js express ejs


    【解决方案1】:

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

    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
    
    // Load static files
    app.use(express.static(path.join(__dirname, 'ace')));
    

    【讨论】:

    • 它说找不到路径
    • 你不能像localhost:8080/ace一样通过url调用,你可以这样做 @安德鲁奥尼尔
    • 你能清楚地指定你的文件夹结构吗@AndrewONeill
    • 你可以喜欢我的回答并将其标记为已回答,这样我就有动力去帮助别人@AndrewONeill
    【解决方案2】:

    只需使用

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

    代替

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

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

    【讨论】:

    • 这不是一个完整的答案
    猜你喜欢
    • 2017-11-06
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多