我从头开始新的angular
项目,我希望完全避免使用require.js
,browserify
或webpack
。我将把所有代码放入单独的文件中 - 没有单片 controllers.js 或 directives.js 文件......
剩下的选项很少:
<script>
标签并始终将新文件放在底部(下方我可能会在某些时候弄乱文件的顺序)gulp-concat
或grunt-concat
它们都很难看 - 首先是维护噩梦,第二个需要构建步骤和文件观察器设置......
我可以使用的最接近的事情是require.js
,但我真的很反感将角度与require结合后代码的外观:
define([], function () {
angular.module('app').controller('BlaBlaController', function () { ... });
})
因为angular正在为我处理所有的DI.js仅用于文件加载,这有点令人伤心,并且使得require.js因为这么小的任务而过度杀伤。
我想要的是扩展$inject
服务,以便它知道如何加载外部文件以及它应该是什么样子:
di.config.js
文件,我在其中指定各种&#34;注射剂的路径&#34; (很像require.conf.js -
if (injectableIsLoaded) {
angular.module('app').controller('Controller', function (dep1) {});
} else if (injectableHasPath) {
diLoader.load(injectablePath).then(evalModule);
} else {
throw "No path for module";
}
有人知道这是否可行?
我从中获胜 - 我不需要在奇怪的require.js调用中包装我的角度代码,不需要构建步骤,可以保留所有文件,并按需分开加载它们。 ..