问题:
我有一个使用requireJS的简单演示应用程序。加载require.min.js
脚本时,它会尝试加载入口点脚本。但是,问题是代替localhost:8090/js/app.js
而是尝试加载localhost:8090/js/app.app
并失败。
演示:您可以在GitHub看到整个应用。
===只有你不喜欢GutHub,这是我的代码===
文件结构
ProjectRoot
|-server.js
|-public/
|-index.html
|-js/
|-app.js
|-lib/
|-require.min.js
|-underscore.js
|-backbone.js
|-raphael.js
|-app/
|-..
server.js:
var express = require('express');
var app = express();
app.use('/', express.static(__dirname + '/public'));
app.listen(8090);
的index.html:
<!DOCTYPE html>
<html>
<body>
</body>
<script src="js/lib/require.min.js" data-main="js/app.js"></script>
</html>
app.js:
require.config({
paths: {
'jquery': 'lib/jquery',
'raphael': 'lib/raphael'
},
shim: {
'lib/underscore': {
exports: '_'
},
'lib/backbone': {
deps: ["lib/underscore", "jquery"],
exports: 'Backbone'
}
}
});
答案 0 :(得分:2)
您的应用中包含的require.js版本存在问题。使用CDN,它可以工作。
您的代码中的版本与CDN上的实际.min版本不匹配,这意味着它已被修改并包含.app
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.15/require.js" data-main="js/app"></script>