我的手很头疼。这是我目前的设置:
App.js(浏览器之前):
'use strict';
var angular = require("angular");
var Routes = require("./routes");
angular.module('MyAngularApp')
.config(Routes);
App.js(在browser.js中浏览后/):
var angular = require("./../ext/angular/angular.js");
var Routes = require("./routes");
angular.module('MyAngularApp')
.config(Routes);
到目前为止这么好,对吗?似乎debowerify完成了它的工作,并将angular
替换为来自凉亭的angular.js
的相对路径。
但是当我在浏览器命令行中调试bundle.js
时,在执行前两行require
行(angular
和Routes
)后,angular
是一个空的obj,但Routes
正是我在导出中设置的正确函数。
问题:为什么使用angular
功能无法正确导入require
?
我将此放入我的package.json
以使debowerify
正常工作:
"browserify": {
"transform": [
"debowerify"
]
},
答案 0 :(得分:13)
AngularJS目前不支持CommonJS,因此var angular = require("angular")
无法正常工作。而不是它,只使用require('angular')
。
'use strict';
require('angular');
var Routes = require("./routes");
angular.module('MyAngularApp')
.config(Routes);
Angular对象将全局加载,并且其他JS文件也可以访问它。