我正在尝试将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
....
我在这里做错了什么?英语未定义。
答案 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
关键字,或在导入时删除{}
。
答案 2 :(得分:0)
由于您使用的是命名导出,因此english
对象的导出无效。您可以通过执行以下操作来改进:
export const english = {"copy":"example"};