将javascript变量导入为常量角度

时间:2016-07-22 14:26:47

标签: javascript angularjs ecmascript-6

我正在尝试将JS变量作为常量导入到我的应用程序中,因为我无法使用传统的JSON方法。

我有这段代码:

//english.js
var english = {"title-1": "Some text"};
export { english as default };

我正在导入它:

import { english } from '../path/english.js';

angular.module('myApp', ['ui.router'])

   .constant('english', english)

然后尝试使用它:

export class AController {
  constructor($scope, english) {
    'ngInject';
    this.data = english; //undefined 
    ....

我在这里做错了什么?英语未定义。

3 个答案:

答案 0 :(得分:2)

我相信你不需要default

请尝试使用export {english};。有时当我不确定ES6的作用时,我尝试使用Babel REPL,这有助于我理解我实际做了什么。

答案 1 :(得分:1)

如果您希望英语成为默认导出,则需要default关键字,并且应具有以下结构:

//english.js
var english = {"title-1": "Some text"};
export default english;

你可以在没有{}的情况下导入它,如下所示:

import english from '../path/english';

要让english只是导出的商品之一,您可以不使用default关键字。

//english.js
export var english = {"title-1": "Some text"};

要导入它,{}是必需的。

import {english} from '../path/english';

因此,在您的情况下,请在导出时删除default关键字,在导入时删除{}

来自mdn。

importexport文档

答案 2 :(得分:0)

由于您使用的是命名导出,因此english对象的导出无效。您可以通过执行以下操作来改进:

export const english = {"copy":"example"};