Laravel Mix引入JS后,该JS无法使用
场景:把echarts.js引入laravel项目
我的问题:
- 请问是我操作不当导致Mix错误工作吗?
- 要怎么才能让Mix正确生成对应的文件?
目前尝试了以下几种方式:
<script type="text/javascript" src="{{ mix("js/echarts.js") }}"></script> <script type="text/javascript" src="/js/echarts.js"></script> <script type="text/javascript" src="{{ URL::asset('/js/echarts.js') }}"></script>
本地的这几种方式都确认是能引入js文件的,在浏览器输入url能访问到js文件,但全都报错无法正常使用:
Uncaught ReferenceError: echarts is not defined
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js"></script>
用CDN引入则能正常使用:
更新
报错的操作步骤:
- 把github上的
echarts.js
放进resources/js
- 在webpack.mix.js中添加
.js('resources/js/echarts.js','public/js')
- npm run dev
以上3步会导致在public/js
中生成的echarts.js
不能正常工作,报错:Uncaught ReferenceError: echarts is not defined
,而当我使用CDN的js文件,或直接拷贝github的js文件到public/js中时,可以正常使用。
打包之后,需要重新定义全局对象,你才能访问的到这个对象