坚持进口和出口

时间:2018-01-02 15:17:55

标签: javascript

我一直试图控制进口和出口,以便减少我的JS应用程序。我试过加入这些Mozillathis Stack Overflow examples但没有任何运气。 It looks like Chrome should support this now。我不确定我做错了什么。

我在export.js中有这样的函数:

export crossingover() {
dynamicText.setText('Some text');
canvas.renderAll();
}

我在我的主app.js文件中导入上面的内容,原始函数是:

import { crossingover } from 'export';

在我的index.html文件中,我有两个脚本标记:

<script src="app.js"></script>
<script type="module" src="export.js"></script>

在我看来,结果应该与原始函数相同,其中导入现在位于app.js中,但它会破坏应用程序。我错过了什么?

我在检查应用程序时遇到这两个错误:

Uncaught SyntaxError: Unexpected token {

index.html:1 Access to Script at 'file:///myappdirectory/export.js' from origin 'null' has been blocked by CORS policy: Invalid response. Origin 'null' is therefore not allowed access.

1 个答案:

答案 0 :(得分:1)

首先,您的导入路径必须是路径式的:

import { crossingover } from './export.js';

然后您只需要app.js的脚本标记,这应该是module类型:

<script type="module" src="app.js"></script>

最后,导出的语法必须是:

export function crossingover() {
[...]

更新

我没有意识到的另一件事 - 在您更新的答案中,您显示的是来自file:///网址。浏览器中的安全设置可能不允许从文件URL加载JS模块 - 而是run a local web server并在Web浏览器中加载。