我正在尝试将js-search npm package导入我的客户端.js
文件。他们的文档说要写import * as JsSearch from 'js-search';
,但是,这给了我Uncaught TypeError: Failed to resolve module specifier "js-search". Relative references must start with either "/", "./", or "../".
。我尝试配置相对路径很长时间,但是最终我发现'js-search'
是指软件包名称,而不是目录。因此,我必须缺少一些允许我使用此导入行的依赖项?谢谢。
编辑:目录结构:
myproject
├── myproject
├── node_modules\js-search
└── myapp
├── static\myapp
│ └── myapp.js
└── templates\search
└── index.html
编辑:可能是因为我在本地主机而不是服务器上运行吗?
答案 0 :(得分:2)
您正在使用的NPM软件包可能是为node.js代码制作的软件包。 import * as JsSearch from 'js-search';
行用于node.js,在浏览器中无法单独运行。
要在浏览器中运行这些程序包,您将需要使用编译器进行基本转换。最常见的可能是webpack。
有时,程序包中还包含专门针对浏览器的预构建或精简版本。在这种情况下,您可能会在something.min.js
目录中找到类似js-search
的文件。
js-search
可能具有此功能,因为我在其存储库中看到一个汇总配置文件。汇总是webpack的替代方法。
如果不是这种情况,那么不幸的是,您必须沿用疯狂的兔子洞作为构建工具。
答案 1 :(得分:0)
您必须使用Ignoring exception in command None:
discord.ext.commands.errors.CommandNotFound: Command "server" is not found
链接myapp.js
文件,如下所示
type="module"
,然后在<script type="module" src="myapp.js"></script>
中,必须使用来自myapp.js
的相对路径导入js-search
,因为您没有使用任何打包程序,例如webpack。在您的node_modules
文件中,您可以像下面这样使用myapp.js
js-search