我有一个Laravel项目,该项目使用Vue.js和Axios与Laravel Mix来构建CSS / JS资产。
在开发过程中,我一直在使用npm run dev
和npm run watch
来毫无问题地建立资产。我曾经尝试使用npm run prod
来检查分发包大小,但是一旦这样做,即使所有内容编译都没有问题,Web应用程序中的所有Axios请求都会开始引发错误。
具体来说,我注意到以下内容:
如果我直接从node_modules
导入Axios,如下所示:
import axios from 'axios';
然后,即使使用npm run prod
,Axios请求也可以正常工作。
但是,我创建了自己希望使用的Axios库,因为它具有标头预设等。我可以按如下方式导入构建的Axios库:
import axios from './lib/axios';
如果我与npm run prod
结合使用,然后尝试类似于axios.get()
的标准npm run dev/watch
调用,则会收到以下错误消息:
TypeError:无法读取未定义的属性“ get”
有趣的是,即使我只是在lib/axios.js
中执行以下操作,在npm run prod
构建中我仍然遇到相同的错误:
import axios from 'axios';
export default axios;
为什么简单地从文件导入和导出Axios,然后从该文件导入(lib/axios.js
)仅会导致产品生成错误,而直接从node_modules
导入Axios不会导致错误?我很混乱。谢谢您的帮助。