JavaScript程序开始时很小,只是在这里和那里被使用。随着时间的推移,JavaScript的使用量增加,我们正在编写在浏览器中运行的完整应用程序。这些大型的应用程序可能很难维护。考虑如何将它们分割成模块是有意义的。
现代浏览器都有本地模块支持,允许它们优化必须加载的模块。
模块的一个常见错误是 "未发现的语法错误"。不能在模块外使用导入语句"。这个错误意味着你必须明确告诉环境,加载的文件是一个module 。让我们看看如何在浏览器和Node.js中做到这一点。
在浏览器中修复 "未捕获语法错误"
浏览器支持开箱即用的模块。但你必须告诉浏览器,使用<script> 标签的导入应该被当作模块来处理。例如,像Vite这样的前端工具使用模块创建一个现代输出包。
通过在你的脚本标签中添加type="module" ,修复语法错误。
<script type="module" src="/assets/app.js"></script>
修复Node.js中的 "未捕获语法错误"
当你的代码使用import 或export 关键字时,你必须告诉Node.js你正在使用模块。18.x版的Node.js使用CommonJS作为默认,但CommonJS不支持这些关键字。你必须将你的应用程序作为一个模块运行。你可以通过在package.json 文件内设置你的应用程序的type: "module" 来做到这一点。
package.json
{
"type": "module"
}
这就解决了你的Node.js应用程序中的 "未捕获语法错误",你就可以使用ECMAScript模块编写现代代码了。
请享用!