VB_*_*VB_ 2 javascript node.js requirejs express
我想将requireJS用于客户端代码.我的文件结构是:
ProjectRoot
|-server.js
|-public/
|-index.html
|-js/
|-app.js
|-lib/
|-require.min.js
|-underscore.js
|-backbone.js
|-raphael.js
|-app/
|-..
Run Code Online (Sandbox Code Playgroud)
server.js:
var express = require('express');
var app = express();
app.use('/', express.static(__dirname + '/public'));
app.listen(8090);
Run Code Online (Sandbox Code Playgroud)
index.html的:
<!DOCTYPE html>
<html>
<body>
</body>
<script src="js/lib/require.min.js" data-main="js/app.js" />
</html>
Run Code Online (Sandbox Code Playgroud)
app.js:
require.config({
paths: {
'jquery': 'lib/jquery',
'raphael': 'lib/raphael'
},
shim: {
'lib/underscore': {
exports: '_'
},
'lib/backbone': {
deps: ["lib/underscore", "jquery"],
exports: 'Backbone'
}
}
});
Run Code Online (Sandbox Code Playgroud)
问题:当我去的时候localhost:8090我只得到index.html没有任何.js文件
问题:为什么Express不向客户端发送javascript?
PS但是当我去的时候,http://localhost:8090/js/app.js我得到了我的app.js
我也用node server.js命令启动我的应用程序
问题2:我的应用无法加载data-main文件.而不是要求localhost:8090/js/app.js它要求localhost:8090/js/app.app.为什么app.app?
我认为问题出在静态模块中,你的nodejs代码应该是这样的:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.listen(8090);
Run Code Online (Sandbox Code Playgroud)
问题在于:
Q1: 我认为问题可能来自空内容模型,所以请尽量使用
<script></script>
Run Code Online (Sandbox Code Playgroud)
代替
<script />
Run Code Online (Sandbox Code Playgroud)
Q2: 我认为这是require.js版本中的一个问题,请阅读此内容以获取更多信息.
| 归档时间: |
|
| 查看次数: |
1025 次 |
| 最近记录: |