【问题标题】:Export variable from an immediately invoked JavaScript function [duplicate]从立即调用的 JavaScript 函数中导出变量 [重复]
【发布时间】:2019-03-20 17:24:53
【问题描述】:

我正在尝试从立即调用的 JavaScript 函数中导出一个变量。我需要将该变量导入我项目的其他组件中。我正在使用 Angular CLI 进行开发。我有一个外部 JS 文件,我需要从中导出这个变量。 以下是我目前所拥有的 JS 代码示例:

var test;
!(function() { test = "123"; })();
export { test };

我的项目构建没有错误,但我在浏览器中收到以下运行时错误:

Google Chrome: Uncaught SyntaxError: Unexpected token export
Mozilla FireFox: SyntaxError: export declarations may only appear at top 
                 level of a module
Microsoft Edge: SCRIPT1002: SCRIPT1002: Syntax error

感谢您的帮助。

【问题讨论】:

  • 语法没问题。如果你想直接在浏览器中使用它,you need type="module"。如果您使用捆绑器来处理导入/导出,显然这个文件没有被处理——您需要查看您的捆绑器配置。
  • 旁注:该代码与export var test = 123; 完全相同。但是如果真的有理由使用函数来创建值,不要让它成为副作用,让它成为返回值export var test = (function() { /*...return theValue...*/ })();

标签: javascript angular function


【解决方案1】:

首先,为什么要使用 var?你需要这个全局变量吗? 其次,ES 提供函数和变量的导出...

试试这个

export function test () {
    return test = "123";
}

【讨论】:

  • 解释为什么/如何解决 OPs 问题是有帮助的。
猜你喜欢
  • 2023-03-26
  • 2012-03-21
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-25
  • 2015-06-20
相关资源
最近更新 更多