![](/img/trans.png)
[英]“Uncaught SyntaxError: Cannot use import statement outside a module” when importing compiled Typescript files to each other
[英]"Cannot use import statement outside a module" and "Uncaught SyntaxError: Unexpected identifier" when importing a class
我正在尝试将一个类导入到我的“main.js”文件中。 这是我的代码的缩小版本。
// "extended.js" file
export default class Test {
constructor() {
this.prop = "Hello"
console.log(this.prop)
}
}
// "main.js" file
window.onload = function () {
import Test from "./extended"
new Test()
}
main.js 文件是我的 Express 应用程序的前端 JavaScript 文件,因此它存储在“public”文件夹中。 当您加载页面时,发生的初始错误是“无法在模块外使用导入语句”。 我自己做过研究,很多人都表示对“main.js”脚本标签使用type="module"
可以解决这个问题。 当我这样做时,错误变成了“Uncaught SyntaxError: Unexpected identifier”。 关于如何使用 ES6 模块和类,我有什么遗漏吗?
您只能在顶级导入 - 它不能在块内完成。 改变
window.onload = function () {
import Test from "./extended"
new Test()
}
到
import Test from "./extended"
window.onload = function () {
new Test()
};
不过,我也建议不要为副作用创建类 - 如果您只想让类做一些事情,而不是返回有用的东西,请改用普通函数。
export default () => {
const prop = "Hello";
console.log(prop);
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.