2016-07-22 3 views
0

従来のJSONメソッドを使用できないため、JS変数をアプリケーションに定数としてインポートしようとしています。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およびexportマニュアルfrom mdn。

2

私はあなたがdefault

代わりexport {english};を試してみてくださいする必要はありません信じています。時には私がES6が何をしているのかわからないときに、私は実際に何をしたのかを多く理解するのに役立つBabel REPLを使ってみます。

0

名前付きエクスポートを使用しているため、englishオブジェクトのエクスポートは無効です。あなたは行って、これを改善することができます

export const english = {"copy":"example"}; 
関連する問題