javascript - EJS 和 jquery 不加载 javascript 引用

标签 javascript jquery node.js ejs

这让我发疯。

我有一个带有 express 的 Node 应用程序。它提供一个名为 index.ejs 的文件。

我只想在此页面上导入一个 javascript 文件(类似于 jquery)。但它不会把它拉起来,我要疯了(因为这应该很简单)。

在服务器端,我将这段代码放在一个名为 app.js 的文件中:

var express = require('express');
var app = express.createServer();
var hostName = (process.env.VCAP_APP_HOST || 'localhost');
app.listen( process.env.VCAP_APP_PORT ||  8000);
app.use(express.static(__dirname +  '/public/javascript/'));


//Create the view
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.set('view options', { layout: false });
app.get('/', function(req, res){
    res.render('index.ejs', {
              item : "document.write('Hello World');"
    });
});

在 ejs 文件中,我有这个:

<html>
        <script>
        <%= item %>
    </script>

<a href="">Link</a>
<script type="text/javascript" src="/javascript/jquery.js"></script>
</html>

我可以在控制台中看到脚本未加载(显示错误)。但对于我的生活,我无法弄清楚为什么。

最佳答案

您需要添加一个静态服务器来为“/”下的其他文件提供服务。目前您的服务器只是响应发送到“/”(和 View )的请求。

app.get 之前将此行添加到您的快速设置中:

// DOCUMENT_ROOT should point to the directory that contains your javascript directory.
app.use(express.static(DOCUMENT_ROOT));

关于javascript - EJS 和 jquery 不加载 javascript 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11481518/

相关文章:

javascript - Highchart 图例对齐

javascript - 如何判断 ASP 中的页面卸载是否是 PostBack

javascript - 找不到部分 ejs 文件

javascript - chrome 扩展选项卡事件监听器不起作用

javascript - JS Canvas 分别为网格元素设置动画

json - Amazon Cloudwatch 日志过滤 - JSON 语法

node.js - 通过 Node.js 读取文件需要打开或关闭文件吗?

javascript - 如何通过 jquery 以编程方式调用 mouseenter 事件

JQuery简单搜索

javascript - Express+pug 中的动态 URL