因此,我有责任将es5转换为es6模块。
如果ES6的角度模块中有多个常数,如何导出/导入一个角度常数模块?
例如constants.js
export default angular.module('myConstants', [])
.constant('foo', {result: 'bar'})
.constant('blah', {result: 'bar'});
service.js
import foo from './constants';
import blah from './constants'; // Tried this. This won't work
这是否意味着我必须将常量拆分为单独的模块?还是应该使用const关键字将它们转换为ES6常量?
使用Webpack和Babel加载程序的Pps
附言:我必须使用伪代码,因为我无法粘贴工作代码。
Angularconstant
服务只是在配置阶段可用的一种服务,是建议的存储模块常量的方法(因此命名)。它不是真正的常数,可以随时用覆盖$provide.constant
。
链接的angular.module(...)
导出Module
对象在非角度环境中是没有意义的。
为Angular模块和ES6模块保留单独的导出。常规上导出Angular模块name
属性,该字符串可以在语义上导入并在其他模块中使用。
export const foo = ...;
export default angular.module('myConstants', []).constant('foo', foo).name;
import myConstantsMod, {foo} from './constants';
angular.module(..., [myConstantsMod])...
这取决于foo
导入的目的,但通常非默认的ES6导入/导出应限于特定于语言的用法(抽象类,基础对象等),并且不应替换Angular模块化功能,这是由于其不可缺少的可测试性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句