我有一个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(找不到)我总是有这些问题的导入和需要的命令..我如何使用一个包的节点模块?
2条答案
按热度按时间ezykj2lf1#
你正在尝试使用绝对路径导入axios包。2相反,你可以使用一个相对路径导入这个包,正如错误提示的那样。
假设您的sendAxios.js文件位于admin_panel/assets/js目录中,您可以像这样导入axios:
Python
但是,不建议这样做,因为在将应用程序部署到生产环境时可能会导致问题。更好的方法是使用模块捆绑器(如Webpack或Parcel)来管理依赖项。
要使用模块捆绑器,通常需要在项目的根目录下创建一个package.json文件,并将axios包添加为依赖项:
Json
然后,您可以使用bundler创建一个包含所有依赖项和应用程序代码的bundle。该bundle可以使用script标记包含在HTML文件中:超文本标记语言
在应用程序代码中,您可以使用以下命令导入axio:
Python
模块捆绑器将负责为axios包解析正确的路径。
gywdnpxw2#
在你的html中使用这个“https:cdnjs.cloudflare.com/ajax/libs/axios/1.2.3/axios.min.js”,并从你的js代码中删除import/require。