webpack

webpack

webpack介绍

是大解放螺丝钉看见

webpack安装

webpack4之后的版本,需要全局安装webpackwebpack-cli,命令如下:

node -v ##确定已安装node

npm config get registry##确定npm镜像是淘宝镜像

##全局安装webpack和webpack-cli

npm i webpack -g

npm i webpack-cli -g

##还需要局部安装

npm i webpack-cli -D

## -D 可以替换成   --save-d   意思是安装到编译时环境,在package,json中查看,是安装到devDependences里

webpack -v

##能查看到webpack和webpack-cli版本号即可认定安装成功。

新建项目(文件夹)

新建文件夹命名为:webpack-study,并初始化npm init -y

在项目中新建文件和文件夹:src,dist,index.html

webpack-study

----src                //这里面是程序员写的代码,即webpack入口

--------index.js

--------b.js

----dist                //这里面是webpack生成的代码,即出口

----index.html

----package.json

b.js代码

function add(a,b){

    return a+b

}

module.exports=add

index.js

const add=require('./b')

console.log(add(1,2))  //3

配置webpack.config.js

在项目根目录下新建webpack.config.js

const path=require('path')//webpack是基于node,在这里引入node的path模块

module.exports={

    entry:'./src/index.js',//指定入口

    output:{

        path:path.resolve(__dirname,'dist'),

        //这里必须是绝对路径(C:XX/yy/zz/index.js),则采用path模块中的方法,对路径做剪切

        //相对路径长这样(../aaa/bbb/ccc/index.js)

        filename:'bundle.js'

    },

    mode:'development'//开发环境   改成production则为 产品环境(发布环境)

}

开发环境生成的bundle.js,里面包含了大量的注释和其他冗杂代码

产品环境即对外发布上线的版本,则非常精简,空格,分号等都被去掉,只有一行代码

运行

webpack

即可在dist文件夹下生成bundle.js

配置package.json

{

  "name": "webpack-study",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1",

    "build":"webpack"                    -------配置这一行

  },

  "keywords": [],

  "author": "",

  "license": "ISC"

}

则后续每次编译,执行以下代码

npm run build

引入到index.html中

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1">

<title></title>

<script type="text/javascript" src="dist/bundle.js"></script>

</head>

<body>

 

</body>

</html>

浏览器打开后,查看控制台,即可看到执行结果。

配置css

src文件夹下,新建css/normal.css

div{color:red}

index.html添加以下内容

<body>

<div>

这里随便写几个字

 </div>

</body>

注意:我们并不是要把normal.css直接引入到index.html中,而是将其打包到bundle.js,再被引入到index.html中

我们要安装两个loader来配置css,其中css-loader是引入css,style-loader是解析css

安装方式

npm i css-loader style-loader -D

配置方式

webpack-config.js中添加module字段

const path=require('path')//webpack是基于node,在这里引入node的path模块

 

module.exports={

entry:'./src/index.js',//指定入口

output:{

path:path.resolve(__dirname,'dist'),

//必须是绝对路径

filename:'bundle.js'

},

mode:'production',

module:{

rules:[

{test:/\.css$/,

use:[

{loader:'style-loader'},

{

loader:'css-loader',

options:{

modules:true

}

}

]

}

]

}

}

注意:loader从右到左(或从上到下)的取值(evaluate)/执行(execute)。

所以一定要保证先配置style-loader,再配置css-loader,这样才能保证webpack从下往上,先引入(css-loader),后解析(style-loader)

 

posted @   WANG_GUOLIANG  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示