2016-07-22 55 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"};