假设我有两个js脚本
script1.js
export default function Hello() {
return "Hello buddy!";
}
script2.js
import { Hello } from './script1.js';
function print(){
let val = Hello;
console.log(val);
}
当我在浏览器中运行print函数时,我得到以下错误
Uncaught SyntaxError: Cannot use import statement outside a module
Unexpected token 'export'
我做了一些调查,这是通过向script2.js添加类型模块来解决的。但问题是。我没有一个HTML来改变脚本。我做一切在香草javascript。那么,解决方案是通过ID获取脚本并将script2.js的类型从文本/javascript更改为模块吗?
是否有其他方法来改变script2.js模块?
可以添加.mjs
文件
// index.js
import otherFile from './otherFile.js';
// otherFile.js
import otherOtherFile from './otherOtherFile.mjs';
export default './otherFile.js';
// otherOtherFile.mjs
export default 'otherOtherFile.mjs';
编辑:你也可以添加一个type="module"
到你正在工作的脚本标签,但你需要一个web服务器,所以它可以处理模块。
<script type="module" src="index.js"></script>
编辑:这个错误正在发生,因为它表明您不能将import
添加到非模块文件,.mjs
字面意思是ECMASCRIPT MODULE
编辑:你可以使用CDN的
来导入NPM模块。