【发布时间】: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