从立即调用的JavaScript函数导出变量
我试图从一个立即调用的JavaScript函数中导出一个变量。我需要将该变量导入到项目的其他组件中。我正在使用Angular CLI进行开发。我有一个外部JS文件,需要从中导出这个变量。 以下是迄今为止我所拥有的JS代码示例:从立即调用的JavaScript函数导出变量,javascript,angular,function,Javascript,Angular,Function,我试图从一个立即调用的JavaScript函数中导出一个变量。我需要将该变量导入到项目的其他组件中。我正在使用Angular CLI进行开发。我有一个外部JS文件,需要从中导出这个变量。 以下是迄今为止我所拥有的JS代码示例: var test; !(function() { test = "123"; })(); export { test }; 我的项目生成时没有错误,但在浏览器中出现以下运行时错误: Google Chrome: Uncaught SyntaxError: Unexpec
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
感谢您的帮助。首先,您为什么要使用var?您需要这个全局变量吗? 第二,ES提供函数和变量的导出 试试这个
export function test () {
return test = "123";
}
语法很好。如果您试图在浏览器中直接使用它。如果您使用绑定器来处理导入/导出,显然没有处理此文件——您需要查看绑定器配置代码>。但是如果确实有理由使用函数来创建值,不要将其作为副作用,而是将其作为返回值:
export var test=(function(){/*…return theValue…*/})()代码>解释为什么/如何解决OPs问题是有帮助的。