2016-07-22 61 views
0

我想导入一个JS变量作为常量到我的应用程序中,因为我无法使用传统的JSON方法。导入JavaScript变量为恒定角度

我有这样的代码:

//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 
    .... 

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

回答

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关键字,删除{}当您导入它。

import and export来自mdn。

2

我相信你不需要default

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

0

由于您使用的是命名导出,因此您导出的english对象无效。您可以通过执行改善这一点:

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