从立即调用的JavaScript函数导出变量

从立即调用的JavaScript函数导出变量,javascript,angular,function,Javascript,Angular,Function,我试图从一个立即调用的JavaScript函数中导出一个变量。我需要将该变量导入到项目的其他组件中。我正在使用Angular CLI进行开发。我有一个外部JS文件,需要从中导出这个变量。 以下是迄今为止我所拥有的JS代码示例: var test; !(function() { test = "123"; })(); export { test }; 我的项目生成时没有错误,但在浏览器中出现以下运行时错误: Google Chrome: Uncaught SyntaxError: Unexpec

我试图从一个立即调用的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

感谢您的帮助。

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

试试这个

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

语法很好。如果您试图在浏览器中直接使用它。如果您使用绑定器来处理导入/导出,显然没有处理此文件——您需要查看绑定器配置。但是如果确实有理由使用函数来创建值,不要将其作为副作用,而是将其作为返回值:
export var test=(function(){/*…return theValue…*/})()解释为什么/如何解决OPs问题是有帮助的。