如何解决为什么我需要使用相对于已安装库的相对路径?
上下文: 我正在尝试将Editor.js库用于个人项目
有项目目录:
有package.json:
{
"name": "quicknoteapp","version": "1.0.0","description": "","main": "myApp.js","scripts": {
"test": "echo \"Error: no test specified\" && exit 1","start": "electron ."
},"author": "","license": "ISC","devDependencies": {
"@editorjs/editorjs": "^2.19.0","electron": "^10.1.5","menubar": "^9.0.1"
}
}
我的index.html
:
<script type="module" src="main.js"></script>
然后从main.js
导入我的库:
import EditorJS from '@editorjs/editorjs';
最后,控制台出现此错误:
TypeError: Module specifier,'@editorjs/editorjs' does not start with "/","./",or "../". Referenced from file:///Users/charles/Desktop/QuickNoteApp/main.js
好,导入模块时需要添加相对路径。但是我不喜欢这样做。 为什么我需要使用已安装库的相对路径?
为什么我不能做与文档相同的操作?在项目设置过程中我做错了什么?我认为向每个脚本添加路径是不正常的。如果没有,为什么要使用npm ...并得到一个node_module文件夹。
解决方法
NPM旨在管理Node.js而不是Web浏览器的软件包。
Web浏览器不是Node.js。它们不支持Node.js的模块路径解析功能(涉及在多个目录中搜索匹配文件:Web浏览器无权访问目录列表,而只能访问URL)。
这些说明假定您使用的是Webpack之类的工具,该工具使用Node.js将JS模块捆绑到一个文件中,以交付给浏览器。他们不认为您将直接将模块加载到浏览器中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。