webpack入门一

作者: 焚心123 | 来源:发表于2021-04-14 16:57 被阅读0次
    • 1、首先新建一个文件夹,使用cmd打开命令符,进行初始化

    npm init -y 只有初始化了,才能使用npm 下载其他的插件

    • 2、下载webpack和webpack-cli(推荐使用局部下载)

    npm install webpack@4.43.0 webpack-cli@3.3.12 -D 这里只在本地使用所以-D,由于目前最新版本是5.x,我们使用4.x进行使用(内置一个0配置,默认配置好了一些)

    • 3、新建一个src文件夹,在下面在新建一个index.js文件,在里面先写一些东西
    • src/index.js
    let a = '11111';
    console.log('sadada');
    
    • 4、我们可以输入指令在终端上进行简单的一个打包了

    npx webpack

    image.png
    • 黄色警告中的mode需要我们进行设置下,默认是生产环境,所以你打开打包后的文件都是没有注释等的

    • 此时我们可以看到有个dist文件下面有个main.js文件,为什么我们什么也没有进行配置,就会自动的给我们生成了一个dist文件还有main.js呢?因为webpack4.x中有一个0配置,给我们配置了这些,如果我们想要修改的话,也是可以的,那么继续往下看吧!!!

    • 5、好了下面我们开始正式的学习吧
    • 打开package.json,可以自己配置一个打包的指令

    "scripts": {
    "test": "echo "Error: no test specified" && exit 1",
    "build":"webpack"
    }

    • 使用npm run build 和 npx webpack 都可以进行打包

    • 接下来我们在根目录下新建一个webpack.config.js文件,这是默认修改webpack的文件,当然你想自己定义一个修改webpack配置的文件名也是可以的,那先看看怎么自定义配置webpack的文件名吧 ?

    • 1、在根目录新建kfc.config.js

        const path = require('path');
        module.exports = {
            // entry:'./src/index.js',//入口文件(单文件入口)
            entry:{//todo 多文件入口
                index:'./src/index.js',
                // main:'./src/main.js'
            },
            output:{
                path:path.resolve(__dirname,'./build'),//todo 打包后存放的文件名
                filename:'[name].js'//todo 打包后的文件名,单文件'build.js'直接写,多文件[name],入口文件名是啥,打包后还是啥
            },
            //todo 当前的模式,none 不做任何的处理 development开发环境做了相应的处理,方便调试,production生产环境会启动相应的插件
            mode:'development',
        }
    
    • 2、在package.json的打包指令中进行添加参数

    "scripts": {
    "test": "echo "Error: no test specified" && exit 1",

    "build":"webpack --config ./kfc.config.js"
    

    },

    • 使用npm run build 或者是npx webpack --config ./kfc.config.js,这个时候,你可以再看看你打包完的文件
    • 在src下新建一个index.html,通过HtmlWebpackPlugin这个插件,可以将index.html进行复制,打包后会将打包的js文件等自动的引入

    npm install --save-dev html-webpack-plugin

       const path = require('path');
        //todo 通过HtmlWebpackPlugin这个插件,可以将index.html进行复制,打包后会将打包的js文件等自动的引入
        const HtmlWebpackPlugin = require('html-webpack-plugin');
        module.exports = {
            // entry:'./src/index.js',//入口文件(单文件入口)
            entry:{//todo 多文件入口
                index:'./src/index.js',
                // main:'./src/main.js'
            },
            output:{
                path:path.resolve(__dirname,'./build'),//todo 打包后存放的文件名
                filename:'[name].js'//todo 打包后的文件名,单文件'build.js'直接写,多文件[name],入口文件名是啥,打包后还是啥
            },
            //todo 当前的模式,none 不做任何的处理 development开发环境做了相应的处理,方便调试,production生产环境会启动相应的插件
            mode:'development',
            module:{//todo 模块,一般可以将我们的scss,less,.vue等进行loader解析,在输出
                rules:[//todo 规则
                    {
                        test:/\.css$/,//todo .css结尾的文件进行解析
                        use:['style-loader','css-loader']//todo 自后往前的顺序,不能写错了,还可以单独的配置loader
                    },
                    {//todo 每个模块都是独立的
                        test:/\.scss$/,
                        use:[
                            {
                                loader:'style-loader',
                                options:{/**可以进行配置 */}
                            },
                            "css-loader","sass-loader"
                        ]
                    }
                ]
            },
            plugins:[//todo 不同的插件,可以帮助我们处理不同的事
                new HtmlWebpackPlugin({
                    template:'./src/index.html'
                })
            ]
        }
    
    • 插件和loader这些我们可以打开webpack官网去查查,使用适合你自己的插件哟

    > 注意:html-webpack-plugin这个版本现在是5.x,打包的时候要是报错的话,可以降低下版本试试,4.5.2试试这个版本

    相关文章

      网友评论

        本文标题:webpack入门一

        本文链接:https://www.haomeiwen.com/subject/cfoklltx.html