RequireJS:data-main不会加载文件

时间:2015-12-16 07:06:07

标签: javascript node.js requirejs

我只是将我的小项目转换为nodejs。但由于某种原因,requireJS文件 - 您定义将在项目中使用的JS的文件未加载。

这是我的结构......

Folder Structure

ng-app是我为网站制作前端的地方。我使用gulp将它们处理成html和js并放到ng-dist

这是我的server.js文件

var express = require('express');
var app     = express();

app.use(express.static(__dirname + '/ng-dist'));

app.listen(3000);

当我进入浏览器时,它会像预期一样呈现。

enter image description here

但似乎我的require.js文件未按data-main属性中所述进行阅读。

enter image description here

以下是require.js文件的样子。

require.config {
    baseUrl :'app/'
    paths   : {
        angular     : '//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min'
        ngRoute     : '//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-route.min'
        ngAnimate   : '//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-animate.min'
        router      : 'routes'
        directives  : 'directives/ref'
        services    : 'services/ref'
        coreModule  : 'config'
        jQuery      : '//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min'
        uikit       : '//cdnjs.cloudflare.com/ajax/libs/uikit/2.21.0/js/uikit'
    }
    shim: {
        ngRoute:{
            deps:['angular']
        },
        ngAnimate:{
            deps:['ngRoute']
        },
        coreModule:{
            deps:['ngAnimate']
        },
        uiKit:{
            deps:['jQuery']
        }
    }
}

define ['coreModule'], ->

这与我的PHP项目基本相同。我不知道为什么要求不读取我的require.js文件并加载我的脚本。

1 个答案:

答案 0 :(得分:1)

data-main是要加载的RequireJS模块。在您的情况下,RequireJS尝试加载/require.js.js。删除扩展程序,并将文件重命名为app.jsrequire.js不明确)。最后:

<script data-main="app"
        src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.17/require.min.js">
</script>