django 我无法使用节点模块软件包

g6ll5ycj  于 2023-03-04  发布在  Go
关注(0)|答案(2)|浏览(135)

我有一个js文件:
<script type="module" src="{% static 'admin_panel/assets/js/sendAxios.js' %}" >
我是这样使用它的:import axios from "axios";但它给出以下错误未捕获TypeError:解析模块说明符"axios"失败。相对引用必须以"/"、./"或../"开头。
当我更改为:import axios from '../../../node_modules/axios';它给我以下错误http://127.0.0.1:8000/static/node_modules/axios net::ERR_ABORTED 404(找不到)我总是有这些问题的导入和需要的命令..我如何使用一个包的节点模块?

ezykj2lf

ezykj2lf1#

你正在尝试使用绝对路径导入axios包。2相反,你可以使用一个相对路径导入这个包,正如错误提示的那样。
假设您的sendAxios.js文件位于admin_panel/assets/js目录中,您可以像这样导入axios:
Python

import axios from "./../../../node_modules/axios";

但是,不建议这样做,因为在将应用程序部署到生产环境时可能会导致问题。更好的方法是使用模块捆绑器(如Webpack或Parcel)来管理依赖项。
要使用模块捆绑器,通常需要在项目的根目录下创建一个package.json文件,并将axios包添加为依赖项:
Json

"dependencies": {
    "axios": "^0.24.0"
  }
}

然后,您可以使用bundler创建一个包含所有依赖项和应用程序代码的bundle。该bundle可以使用script标记包含在HTML文件中:超文本标记语言

<script src="bundle.js"></script>

在应用程序代码中,您可以使用以下命令导入axio:
Python

import axios from "axios";

模块捆绑器将负责为axios包解析正确的路径。

gywdnpxw

gywdnpxw2#

在你的html中使用这个“https:cdnjs.cloudflare.com/ajax/libs/axios/1.2.3/axios.min.js”,并从你的js代码中删除import/require。

相关问题