为了账号安全,请及时绑定邮箱和手机立即绑定

laravel中使用webpack打包jquery运行不了

laravel中使用webpack打包jquery运行不了

米脂 2019-05-24 18:19:08
laravel中使用webpack打包jquery运行不了。package.json里面是这样的:{"private":true,"scripts":{"dev":"npmrundevelopment","development":"cross-envNODE_ENV=developmentnode_modules/webpack/bin/webpack.js--progress--hide-modules--config=node_modules/laravel-mix/setup/webpack.config.js","watch":"cross-envNODE_ENV=developmentnode_modules/webpack/bin/webpack.js--watch--progress--hide-modules--config=node_modules/laravel-mix/setup/webpack.config.js","watch-poll":"npmrunwatch----watch-poll","hot":"cross-envNODE_ENV=developmentnode_modules/webpack-dev-server/bin/webpack-dev-server.js--inline--hot--config=node_modules/laravel-mix/setup/webpack.config.js","prod":"npmrunproduction","production":"cross-envNODE_ENV=productionnode_modules/webpack/bin/webpack.js--progress--hide-modules--config=node_modules/laravel-mix/setup/webpack.config.js"},"devDependencies":{"axios":"^0.16.2","bootstrap":"4.0.0-beta","cross-env":"^5.0.1","jquery":"^3.1.1","laravel-mix":"^1.0","lodash":"^4.17.4","vue":"^2.1.10","element-ui":"^1.4.2"},"dependencies":{"babel-polyfill":"^6.23.0"}}运行npmrundev打包,没有报错,css能正常显示,但jquery不能使用。其他js包暂不知,因为jquery不能用,到不了使用其他js包的页面。webpack.mix.js是这样的:letmix=require('laravel-mix');mix.js('resources/assets/js/app.js','public/js').sass('resources/assets/sass/app.scss','public/css');webpack.config.js是这样的(自带的,不用自己写):require('../src/index');require(Mix.paths.mix());Mix.dispatch('init',Mix);letWebpackConfig=require('../src/builder/WebpackConfig');module.exports=newWebpackConfig().build();问题:1、jquery不能使用可能是什么原因?2、devDependencies和dependencies,好像说是开发环境需要的在devDependencies,生产环境需要的在dependencies。可是上面的包是按照文档命令用npm安装的,有些安装到devDependencies,有些又安装到dependencies。我感觉上面devDependencies里面的包在生产环境都要使用,它怎么给我安装到了devDependencies,而不安装到dependencies?
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

贴一下webpack的config文件和package.json里面dev跑的是哪个命令,根据描述猜测是webpack的配置里面把jquery写进了externals里面,这样需要全局引入jquery。
devDependiencies和dependencies确实一个是构建环境,一个是生产环境。babel-polyfill是编译时用到的,而其他的都是生产环境需要的,所以理论上你的所有的依赖都是写反的。npminstall--save-dev的包就会进devDependenciesnpminstall--save就会写进dependencies
                            
查看完整回答
反对 回复 2019-05-24
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

我一般是关闭了自动导入功能,这样程序只会打包你编写的js
然后你在页面引用jquery、vue等js即可。
解千愁:
const{mix}=require('laravel-mix');
mix.autoload({});
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 890 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号