webpack入门使用

Hope NoReferenceError

webpack学习使用

早期网页时同过手动引入js代码,不同的的人负责不同的js很有可能会造成代码全局污染,,代码之间相互引用逻辑关系很强,容易错误。
目前node端自兼容commonJs,可以通过webpack进行代码模块化管理

使用前注意一下webpack本身只能解析js,json文件,如果你直接编译.css或者其他类型语言的,都会报错,
这个需要loader处理一下

安装

项目首先肯定要初始化然后

npm i webpack webpack-cli -d

然后你就可以用import from、 export 语法来随意使用各部分的代码,不会造成全局代码污染,因为导出后本身就变为了局部变量方式引用

入口文件

首先一个项目肯定要有入口文件,要不然一个封闭的系统用都用不了

  • 可以在根目录下创建src目录,和main.js文件,我们就以这个main.js为入口文件吧
  • 可以在src目录下创建几个js文件,里面用export 抛出一个或多个方法或变量
  • 最后在mian.js里引用,即import from

webpack.config.js

我们可以手动在根目录创建一个配置文件,如果用了vscode之类的软件,会有特殊的图标
接着可以写

const path = require('path')
module.exports = {
    entry: './src/main.js',//相对路径
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'main.js',//入口文件输出的文件名
        clean:true,//打包前清空dist目录
    },
    module: {
        rules: [
            {
                test:/\.css$/,//注意不要加引号
                use:['style-loader','css-loader']//执行顺序  右到左  css.loader将普通的css变为commmonjs模块,style动态生成style标签
            },
            {
                test:/\.(png|jpe?g|gif|webp|svg)$/,
                type:'asset',
                parser:{
                    dataUrlCondition:{
                        maxSize:10*1024//小于10kb转化为base64格式,转化空间会变大,但可以减少网络请求,一般不大于5kb 
                    }
                },
                generator:{
                    filename:'static/img/[hash:10][ext][query]'
                }
            },
            {
                test:/\.(ttf|woff2?|map3|map4|avi$)/,//处理音乐,视频字体等
                type:'asset/resource',//webpack内置
                generator:{
                    filename:'static/media/[hash:10][ext][query]'
                }
            }
        ]
    },
    plugins: [
	//插件的安装,如ESlint
    ],
    mode: 'development'
}

关于上面test正则不加引号官方解释如下

/.txt / 与 ′ / t ˙ x t / 与 '/\.txt //t˙xt/’ 或 “/.txt$/” 不一样。前者指示 webpack 匹配任何以 .txt 结尾的文件,后者指示 webpack 匹配具有绝对路径 ‘.txt’ 的单个文件; 这可能不符合你的意图。

mode一般有两种,一个是生产模式production这个会压缩代码,一个是开发模式development,,自己可以都试试

运行

就目前而言,其实上面代码module可以先不要
直接npx webpack,自动产生一个dist文件
关于npx大家可以看看阮一峰大佬的解释npx阮一峰

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值