首先讓我解釋一下,我不期望自己提交這個,因爲我曾多次嘗試過無數次的嘗試,但仍無法獲得通過expressjs提供的javascript和圖像。該項目的文件夾結構:javascript not loading使用快速靜態
[root] (the project folder)
|server.js <-- the main file
|[staticFiles] (contains js img files)
|[html] (contains html files)
|[js] (contains javascripts)
|[node_modules] (library home)
server.js:(主文件)
var express = require('lib/express');
var app = express();
var port = process.env.PORT || 65000;
var bodyParser = require('./node_modules/body-parser');
var router = express.Router();
var cons = require('consolidate');
var path = require('path');
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.engine('html', cons.swig);
app.set('view engine', 'html');
app.set('views', "./html");
app.use('/user1', require('./js/routes/user1'));
// here i'd tried various combinations:
var staticPathFinal = express.static(path.join(__dirname, 'staticFiles'));
app.use(staticPathFinal);
// app.use(express.static(path.join(__dirname, 'staticFiles')));
// app.use(express.static(__dirname, 'staticFiles'));
// app.use(express.static(__dirname + '/staticFiles'));
// app.use(express.static(__dirname + '/staticFiles/')); // 2123
// app.use(express.static('staticFiles')); // 2159
// app.use('/user', express.static('staticFiles'));
// app.use('/user', express.static(path.join(__dirname, 'staticFiles')));
app.listen(port);
[USER1:./js/routes/user1]
[js]
|routes
|user1.js
代碼:
router.get('/', function(req, resp) {
resp.render("srcEvent1");
}
[html:srcEvent.html]帶基本功能的e ASY讀數:
<head lang="en">
<title>srcEvent.html</title>
<script src="srcEvent.js"></script>
</head>
<body onload="srcEvent_alert()">
<h1>page info: this shall activate alert from srcEvent.js:</h1>
</body>
[staticFiles](包含文件夾的javascript &張圖片)
srcEvent.js在服務器上運行
function srcEvent_alert(){
alert('srcEvent_alert:0006:');
}
確定期望的連接。
瀏覽器的URL [本地主機:65000/USER1]
result1: without <script src="srcEvent.js"></script> page loaded :-)
result2: with <script src="srcEvent.js"></script> page could not load :-(((
,讓我度過了交叉項目時間表,在幾天的實驗,從計算器WRT回答了許多緊張無數的時間和其他地方,而只是我的沒有,雖然設置工作似乎符合那些Google搜索引用。
有人請幫我拿出那個地牢。
謝謝。
丹尼爾
爲什麼要通過相對路徑而不是使用它的package.json中配置的入口點來使用npm模塊?例如,「var express = require(」express「);」 – bitifet