我有 3 个模块名称 'dashboard.services1,', 'dashboard.services2', 'dashboard.services3' .
angular.module('dashboard.services1', [])
.service('sublineService', function ()
这 3 个服务是 .js( Angular )文件。我想添加这些文件
app.js
angular.module('dashboard', ['dashboard.filters', 'dashboard.services1',
'dashboard.services2', 'dashboard.services3', 'dashboard.directives',
'dashboard.controllers']).
config(['$routeProvider', function ($routeProvider, $routeParams) {
// Dashboard Screens
$routeProvider.when('/lines',
{ templateUrl: 'partials/lines.html', controller: 'PlantController' });
$routeProvider.when('/lineId/:lineId/linename/:linename',
{ templateUrl: 'partials/line-detail.html', controller: 'LineDetailController' });
$routeProvider.when('/subline/:lineId/:sublineId',
{ templateUrl: 'partials/subline-detail.html', controller: 'SublineController' });
$routeProvider.when('/equipment/:equipmentId',
{ templateUrl: 'partials/equipment-detail.html', controller: 'EquipmentController' });
$routeProvider.otherwise({ redirectTo: '/lines' });
}]);
但我的问题是无法处理所有这 3 个文件。最后一个即
'dashboard.services3'
仅工作并从中获取输出。其他 2 个文件被跳过。我不希望这是我的问题。
我的问题是如何添加更多服务文件(即模块名称)/如何将这些模块名称合并到单个 .js( Angular )文件中以获得所有想要的脚本文件并获得我的输出..
谢谢!
最佳答案
angular.module() 不接受文件名,它接受模块名。 Angular 不会为您从服务器加载脚本,它希望您在引导应用程序之前加载脚本文件。
您有几个选择:
- 手动将所有带有标签的脚本包含在您的 html 中
- 使用无数的脚本加载工具,例如 require.js、$script.js 等...
使用第三方工具将所有 javascript 文件合并到一个文件中,并可选择最小化/优化。您可以使用以下内容:
- Google Closure 编译器:https://developers.google.com/closure/compiler/
- RequireJS 优化器:http://requirejs.org/docs/optimization.html#wholeproject
- Yahoo 的 YUI 压缩器:http://yui.github.io/yuicompressor/
- Uglify.js:https://github.com/mishoo/UglifyJS
然后您需要使用 html 中的标记加载由这些工具之一生成的脚本。
关于javascript - AngularJS 如何将多个 JS 文件组合成一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19699046/