Javascript 未捕获的SyntaxError:导入语句的意外标识符

Javascript 未捕获的SyntaxError:导入语句的意外标识符,javascript,Javascript,在以下代码中: ROOTNS.ui.components.orgChart = (function () { import PubSub from 'pubsub-js' })(); 我在import语句中得到运行时错误: 未捕获的语法错误:意外的标识符 我的应用程序基于Chromium版本66,该版本支持导入语句,因此语法有什么问题?导入必须位于脚本的顶部,然后才能执行任何其他代码。ES6模块不像其他模块系统那样可以有条件地加载模块 import PubSub from 'pub

在以下代码中:

ROOTNS.ui.components.orgChart = (function () {

    import PubSub from 'pubsub-js'

})();
我在import语句中得到运行时错误:

未捕获的语法错误:意外的标识符


我的应用程序基于Chromium版本66,该版本支持导入语句,因此语法有什么问题?

导入必须位于脚本的顶部,然后才能执行任何其他代码。ES6模块不像其他模块系统那样可以有条件地加载模块

import PubSub from 'pubsub-js'

ROOTNS.ui.components.orgChart = (function () {

// other code 

})();

import
需要位于单元的顶部。但这会将其放置在闭包之外。如果我的应用程序中有多个模块也使用相同的导入语句,这不是问题吗?据我所知,除非您使用动态导入,否则您需要在单元顶部导入。为什么
PubSub
需要在闭包中?它只会被导入一次,这就是模块加载程序的工作。@AndroidDev否,没有冲突,每个模块都有自己的作用域。使用ES6模块时不需要IIFE。