我想通了:r.js
作品通过阅读你的mainConfigFile
任何模块,您的配置内的名称,这里最重要的注意的是,r.js
只看你的模块名字中的第一个require
/define
和熄灭找上门来;因此,举例来说,我有叫app
一个名为模块:
require ['config'], (cfg) ->
require ['angular'], (A) ->
A.module cfg.ngApp, []
require ['routes'],() ->
require [
'factory/a-factory',
'service/a-service',
'controller/a-controller'
],() ->
A.bootstrap document, [cfg.ngApp]
的这里的问题是,r.js
从来没有得到过第一require
声明,因此串联不工作。当我把它改为,说(我app.coffee
):
require ['config'], (cfg) ->
require ['angular'], (A) ->
A.module cfg.ngApp, []
require ['bootstrap'], (bootstrap) ->
bootstrap()
而且我bootstrap.coffee
:
define [
'config',
'angular',
'routes',
'factory/a-factory',
'service/a-service',
'controller/a-controller'
], (cfg, A, routes) ->
class Bootstrap
constructor:() ->
routes()
A.bootstrap document, [cfg.ngApp]
这意味着我只需要在我r.js
配置定义angular
和bootstrap
为includes
,然后r.js
其余的将如下所示:
baseUrl: 'assets/js/app',
mainConfigFile: 'assets/js/app/config.js',
name: 'app',
include: [
'../vendor/requirejs/require',
'bootstrap'
],
out: 'assets/js/dist/app.js'
A现在它一切正常! ~~可惜我不得不告诉r.js
包括requirejs
虽然,也许我在那里做了一些傻事?~~
Blimey,我就是这样一个丁格尔!
所以在我的HTML我装我的级联脚本:
<script src="assets/js/dist/app.js"></script>
当它真的应该被加载这样的:
<script src="assets/js/vendor/requirejs/require.js" data-main="assets/js/dist/app"></script>
D'哦!
你在'r.js'串联使用'require.js'? – Trevor 2013-02-10 02:30:55
我该怎么做? – 2013-02-10 07:03:39