Javascript 为什么需要使用已安装库的相对路径?

Javascript 为什么需要使用已安装库的相对路径?,javascript,npm,npm-install,yarnpkg,Javascript,Npm,Npm Install,Yarnpkg,上下文: 我正在尝试将Editor.js库用于个人项目 以下是项目目录: 下面是package.json: { "name": "quicknoteapp", "version": "1.0.0", "description": "", "main": "myApp.js", "scripts"

上下文: 我正在尝试将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>
最后,控制台出现以下错误:

TypeError: Module specifier, '@editorjs/editorjs' does not start with "/", "./", or "../". Referenced from file:///Users/charles/Desktop/QuickNoteApp/main.js
好的,我需要在导入模块时添加相对路径。但我不喜欢这样做。 为什么需要使用已安装库的相对路径


为什么我不能做与文档相同的事情?在项目建立期间,我做错了什么?我认为向每个脚本添加路径是不正常的。如果不是,为什么要使用npm。。。并获得一个node_模块文件夹。

NPM设计用于管理node.js的包,而不是用于web浏览器

Web浏览器不是Node.js。它们不支持Node.js的模块路径解析功能(这涉及到在多个目录中搜索匹配的文件:Web浏览器不能访问目录列表,只能访问URL)

本说明假设您使用的是Webpack之类的工具,该工具使用Node.js将js模块捆绑到单个文件中,然后发送到浏览器。他们并不认为您将直接将模块加载到浏览器中

TypeError: Module specifier, '@editorjs/editorjs' does not start with "/", "./", or "../". Referenced from file:///Users/charles/Desktop/QuickNoteApp/main.js