繁体   English   中英

单个模块中的Angular 1.x和es6多个常量

[英]Angular 1.x and es6 multiple constants in a singular module

因此,我有责任将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

附言我必须使用伪代码,因为我不能粘贴工作代码。

constant服务只是在配置阶段可用的一种服务,是建议的存储模块常量的方法(因此命名)。 它不是真正的常量,可以随时用$provide.constant覆盖。

链接的angular.module(...)导出Module对象 ,在非Angular上下文中没有意义。

为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模块化功能,这是由于以下原因必不可少的它的可测试性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM