【问题标题】:import javascript variable as constant angular将javascript变量导入为常量角度
【发布时间】:2016-07-22 14:26:46
【问题描述】:

我正在尝试将 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 
    ....

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

【问题讨论】:

    标签: javascript angularjs ecmascript-6


    【解决方案1】:

    相信你不需要default

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

    【讨论】:

      【解决方案2】:

      如果您希望英语成为 默认 导出,您需要 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 关键字,在导入时删除 {}

      importexport 来自 mdn 的文档。

      【讨论】:

        【解决方案3】:

        您的english 对象导出无效,因为您使用的是命名导出。您可以通过以下方式改进:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-12
          • 2023-02-17
          • 2023-03-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多