javascript - RequireJS 搜索 app.app 而不是 app.js(其中 app.js 是 data-main 中指定的入口点)

标签 javascript node.js express requirejs

问题:

我有一个使用 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'
        }
    }
});

最佳答案

应用程序中包含的 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>

关于javascript - RequireJS 搜索 app.app 而不是 app.js(其中 app.js 是 data-main 中指定的入口点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26816008/

相关文章:

javascript - LI 和 child 的 JQuery 鼠标悬停

javascript - kendo grid初始化后如何设置pageSizes?

javascript - Node.js - 如何获取相对需求路径?

node.js - Webpack 外部不可缓存

pug - 通过条件逻辑嵌套 Jade

javascript - NodeJS 存储模块功能结果

javascript - Highcharts:删除柱形图周围的填充

javascript - 如何让按钮出现在列表项旁边?

node.js - 需要如何修复 ' ValidationError: users validation failed: name: Path ` name`。蒙戈错误?

javascript - req.body 在 Express 应用程序的后路由中未定义