webpack4的学习笔记

1、 node.js的安装搭建(这个自行百度),查看node是否安装成功命令:node -v
2、 创建项目文件夹
3、 命令:npm init 生成一个package.json文件
在npm init的时候会出现需要一些填写的内容,最后一步 is this OK?这步就填 yes 就行了
在这里插入图片描述
4、 创建dist和src目录,src下创建css和js目录,放置css和js文件,css目录创建index.css文件,js目录创建index.js文件。dist创建index.html
5、 安装webpack相关插件
npm install webpack
npm install webpack-cli
npm install webpack-dev-server --save-dev
安装css打包配置loader加载器
npm install --save-dev style-loader css-loader
安装js打包配置expose-loader
npm install jquery --save-dev
npm install expose-loader --save-dev
6、 在package.json中添加webpack编译脚本

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config=webpack.config.js --watch",	//主要还是改这2个
    "start": "webpack-dev-server"	//主要还是改这2个
  }

watch是每次项目修改的时候自动检测,不必在打包(npm run build)一次,直接刷新页面即可
7、 在根目录下创建webpack.config.js文件,文件名必须是webpack.config

const path = require('path');//处理路径信息
const config = {
    mode:'development', // development || production
    entry:path.resolve(__dirname,'./src/js/index.js'),//webpack 打包入口文件
    output:{
        path:path.resolve(__dirname,'./dist'),//打包完成放置位置
        filename:'main.js'//打包后的文件名,这个可以随便取名
    },
    module:{//例如如何解读css,图片如何转换,压缩等
        rules:[
            {
                test:'/\.js$/', //匹配所有的js文件
                exclude:/node_modules/,//除了node_modules以外
            },
            {
                test:/\.css$/,  //正则选中是css的文件
                loader:'style-loader!css-loader'    //如果都是css文件的话,都会加载这个模块
            },
            {
                test: require.resolve('jquery'), //require.resolve 用来获取模块的绝对路径
                use: [{
                    loader: 'expose-loader',
                    options: 'jQuery'
                }, {
                    loader: 'expose-loader',
                    options: '$'
                }]
            }
        ]
    },
    //插件,用于生产模板和各项功能
    plugins:[],
    //配置webpack开发服务器功能
    devServer:{
        // 设置基本目录结构
        contentBase:path.resolve(__dirname,'./dist/'),
        //服务器的ip地址 可以使用ip也可以使用localhost
        host:'localhost',
        //服务器压缩是否开启
        compress:true,
        //配置服务端口号,端口号可自行修改
        port:9999
    }
}
module.exports = config

8、 index.html需要引入打包后的js文件名,打包后的js文件名放在dist里,也就是和index.html是同级文件,直接
在index.js里要写上 import ‘…/css/index.css’ var $=require(‘jquery’) 引入css和全局使用jq
9、 开始打包,命令 npm run build
打包成功后
在这里插入图片描述
10、 将项目部署到服务端(配置development环境下的调试服务)
在第一步的时候已经安装了webpack-dev-server,而且在第七步的时候也配置好了devServer,如果打包也没问题的话,直接使用命令npm run start
成功的话如下,http://localhost:9999/ 就是访问目标
在这里插入图片描述

在学习的过程中也遇到了许多问题
1、在未修改scripts的时候(也就是这2个"build": “webpack --config=webpack.config.js”, “start”: “webpack-dev-server”),跟视频学使用的打包命令是webpack js/a.js js/bundle.js,这个会报错,如下图
在这里插入图片描述
后来网上查了一下,是webpack4.0以上的打包命令webpack js/a.js js/bundle.js会报错和警告,改成npx webpack js/a.js -o js/bundle.js --mode development 就行了( js/a.js为要打包的文件, js/bundle.js为打包后的文件。打包成功后会出现打包后的文件。)。现在修改了scripts,直接使用npm run build就简单的多了

2、在webpack.config.js中,webpack4.0以上module用的是rules,而不是loaders

3、index.html不能和webpack.config.js放在同级下,需要放在dist下,访问http://localhost:9999/的时候就可以直接显示出来,不然会显示如下图的情况
在这里插入图片描述

ps:目前学习的进度就这样吧,以后工作有用到的话在继续更新

最后,如果我的笔记对您有帮助,请给我一个赞~ 谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值