AngularJs和Webpack-如何导入服务、组件和模块
我已经开始在相当大的代码库中使用webpack,并且一直在使用ES6的import语句来加载每个模块所需的依赖项 我的文件结构是基于组件的,所有特定于组件的部分都在该组件的文件夹中。例如,组件文件本身,然后是特定于该组件的模板、样式表、服务、过滤器等。然后,我们可能在该模块中有一个通用服务文件夹,用于非特定于特定组件的服务。例如:AngularJs和Webpack-如何导入服务、组件和模块,angularjs,webpack,ecmascript-6,es6-modules,Angularjs,Webpack,Ecmascript 6,Es6 Modules,我已经开始在相当大的代码库中使用webpack,并且一直在使用ES6的import语句来加载每个模块所需的依赖项 我的文件结构是基于组件的,所有特定于组件的部分都在该组件的文件夹中。例如,组件文件本身,然后是特定于该组件的模板、样式表、服务、过滤器等。然后,我们可能在该模块中有一个通用服务文件夹,用于非特定于特定组件的服务。例如: - my-module - component-a - component_a.component.js - component_a.compon
- my-module
- component-a
- component_a.component.js
- component_a.component.spec.js
- component_a.html
- component_a.scss
- services
- some_service.service.js
main.module.js
main.run.js
main.config.js
我的问题是,main.module.js
文件变得不可维护,因为我手动将所有必需的依赖项导入该文件,然后根据需要将它们注册到angular world中。例如:
import componentA from './component-a/component_a.component';
import someService from './services/some_service.service;
angular
.module('myModule', [])
.component('componentA', componentA)
.service('someService', someService);
你可以想象,当你有10多个组件时,它会变成什么样子。我一直在努力寻找解决这个问题的好办法,有人有什么建议吗?这里有最佳实践方法吗?我想,每个组件/控制器/服务等都可以在自己的文件中连接到应用程序 就像你有一个文件
ome_service.service.js
,里面写着:
myApp.service('omeService', function(){
var app = this;
// service stuff
});
因此注册不是在您的main.module.js中,而是在每个文件本身中。
不过,您需要公开应用程序变量才能在全球范围内可用。有了像webpack这样的捆绑包,这很容易处理。Gene Conroy Jones在这里写了一篇关于如何通过网页实现这一目标的文章:
通过这种方法,每个新组件将自行处理其注册,并且中央应用程序不必携带所有这些导入。我猜,每个组件/控制器/服务等都可以在自己的文件中连接到应用程序
就像你有一个文件ome_service.service.js
,里面写着:
myApp.service('omeService', function(){
var app = this;
// service stuff
});
因此注册不是在您的main.module.js中,而是在每个文件本身中。
不过,您需要公开应用程序变量才能在全球范围内可用。有了像webpack这样的捆绑包,这很容易处理。Gene Conroy Jones在这里写了一篇关于如何通过网页实现这一目标的文章:
通过这种方法,每个新组件都将自行处理注册,而中央应用程序不必携带所有这些导入