如何在我的 .js 文件中使用 npm 安装的包? [复制]

Posted

技术标签:

【中文标题】如何在我的 .js 文件中使用 npm 安装的包? [复制]【英文标题】:How do i use npm installed packages in my .js files? [duplicate] 【发布时间】:2019-09-10 01:48:26 【问题描述】:

我是一个新手,试图弄清楚如何在我的 web 开发工作流程中使用节点包。例如我正在尝试测试 axios ajax 库。

我认为这应该很容易,但它让我发疯了。

所以在一个文件夹中我有一个 index.html 和一个 index.js 文件。

我已经运行“npm init -y”来创建一个 package.json 文件,然后运行“npm install axios --save”。该软件包已安装在 node_modules 文件夹中,并作为 package.json 文件中的依赖项。

现在我应该如何使用我的 index.js 文件中的库?

我正在我的 index.js 文件(第一行)中尝试以下内容

import axios from "axios";

在 chrome 中我得到:“Uncaught SyntaxError: Unexpected identifier” 在 Firefox 中:“SyntaxError:导入声明只能出现在模块的顶层”

尝试使用 type="module" 链接 index.js 文件(正如我在其他一些主题中看到的那样)也没有帮助。我只是得到了一些不同的错误。

我错过了什么?

【问题讨论】:

您需要使用type="module",才能使用这些。 <script src="./main.js" type="module"></script> 【参考方案1】:

您不能在客户端 js 文件中使用“导入”。 “导入”适用于在服务器端运行的节点 js 文件。

通过提供路径来使用节点模块的最简单方法。

<script src="/node_modules/path_to_dependency/dist"></script>

更多详情请看:How to include scripts located inside the node_modules folder?

【讨论】:

严格来说这不是真的。 developer.mozilla.org/en-US/docs/Web/javascript/Reference/…***.com/q/33516906/362536 谢谢。正如我所说,我是所有这些节点模块的新手,疯狂地试图弄清楚事情。所以如果我理解正确,如果我想在经典的 Web 应用程序中使用节点模块,正确的方法是使用 webpack 之类的东西?有必要的代码将这些模块“转换”为更经典的格式吗?

以上是关于如何在我的 .js 文件中使用 npm 安装的包? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

npm命令用于卸载或修剪Node.js中未使用的包

如何在 laravel 应用程序中使用 npm 安装包?

为啥“npm install”在我的“package-lock.json”文件中为我的包添加“node_modules”前缀?

使用ANTD前端开发——开发环境搭建(Windows)

如何使用 Brunch 编写多文件 NPM 包

Npm help config - 没有要安装的包