我的nodeJS应用程序非常简单,但我很难将我的javascript文件链接到它。通常,您只需将脚本放在标题中即可。显然,这不适用于Node,所以试图通过sendFile和其他方法链接它,但没有一个有效。
我的Javascript很简单:
var express = require('express');
var app = express();
app.get('/',function(req, res) {
res.sendFile(__dirname + '/index.html');
res.send()
});
app.listen(8888)
我的HTML也很简单:
<html>
<head>
<title>Charter</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<div id="container" style="width:100%; height:400px;"></div>
<button id="button" class="autocompare" onclick="plotNewChart()">Add series</button>
<script type="text/javascript">
$(function () { $('#container').highcharts({ chart: { events: { addSeries: function () { var label = this.renderer.label('A series was added, about to redraw chart', 100, 120).attr({ fill: Highcharts.getOptions().colors[0], padding: 10, r: 5, zIndex: 8 }) .css({ color: '#FFFFFF' }) .add(); setTimeout(function () { label.fadeOut(); }, 1000); } } }, xAxis: { categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] }, series: [{ data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] }] }); });
</script>
</body>
</html>
我想要做的是链接另一个文件myJS.js
。如果没有典型的`
答案 0 :(得分:7)
您需要设置Express服务器以提供静态文件。目前,它似乎只服务于&#39; /&#39;路由。
在您设置路由之前,请添加以下行。然后,您可以提供来自公众&#39;的静态资产。文件夹相对于脚本的位置。
app.use(express.static(path.join(__dirname, 'public')));
因此,如果您将myJS.js
放在public/js/myJS.js
中,则可以像这样引用它
<script src="/js/myJS.js"></script>