windows 下安装webpack

1. 去nodejs的官网下载 nodejs  并安装

2. 安装好nodejs后,则 npm 也会被自动的安装

           安装好后可以使用命令    node -v    和  npm -v来看看是否正确 的安装

3. 全局安装 webpack  

           命令行 :  npm install webpack -g  // 后面这个 -g表示全局的安装    就像windows的 环境变量一样,任何目录下都可以使用

4. webpack 4  需要安装       webpack-cli 

           所以全局安装     webpack-cli              (一定要全局安装,如果用 - D 的安装会报错)

           命令行:  npm install webpack-cli -g

            说明:

npm install module_name -S    即    npm install module_name --save    写入dependencies

npm install module_name -D    即    npm install module_name --save-dev 写入devDependencies

npm install module_name -g 全局安装(命令行使用)

npm install module_name 本地安装(将安装包放在 ./node_modules 下)

dependencies与devDependencies有什么区别呢?

devDependencies 里面的插件只用于开发环境,不用于生产环境

dependencies 是需要发布到生产环境的

webpack 的核心概念   entry (打包入口)   output(输出文件)   loaders(加载其它处理器)  plugins(插件)

          1) entry 的格式   (entry可以有三种格式,并且可以用于单入口和 多入口)

                 格式a:   

module.exports = {
    entry:"app.js"     //表示是一个单入口 入口文件名是 app.js
}

               格式b:

module.exports = {
    entry:["app.js","index.js"]    //表示是一个多入口项目   入口文件分别是 app.js 和index.js
}

             格式c:

module.exports = {
    entry:{
        app : "app.js",
        index : "index.js"
    }
}
//表示一个多入口的项目 入口文件分别是app.js 和 index.js  
//这种方式的好处是 可以自定义一个 入口文件的  键名

一般推荐使用  格式 C;

2.  output   表示打包文件的输出

格式如下

module.exports = {
    entry:"app.js",
    output:{
        filename:"bundle.js"
    }
}
//表示打包app.js 后,将其输出为文件 bundle.js

当入口是多个文件的时候,可以使用占位符来定义输出的文件

module.exports = {
    entry:{
        app:"app.js",
        index:"index.js"
    },
    output:{
        filename:"[name].bundle.[hash:5].js"
    }
}

//这里的 [name] 和 [hash:5] 就是占位符,可以根据 entry 中的文件名来 自动替换 [name]的值

3. loader  webpack 默认是可以打包js代码的 ,当有css 等其它的文件也需要打包进去的时候,就要使用loaders了

添加loader的格式如下:

module.exports = {
    entry:{
        app:"app.js"
    },
    output:{
        filename:"bundle.js"
    },
    
    module:{
        rules:[
            {
                test:'/\.css$/',        //表示匹配后缀名是 .css的文件
                use : 'css-loader'      //使用 css-loader 来进行编译
            }
        ]
    }

}

常用的loader 有 : babeld-loader  (可以将 ES6的语法转换为 ES5的语法)

                               style-loader css-loader (css相关的)

                               file-loader url-loader (与文件和路径相关的)

4. plugins  (可以全程参与打包的插件)

作用,可以设置变量,等等很多,用法很灵活,不多说

如: html-webpack-plugin  插件的基本作用就是生成html文件

 

 

 

 

 

 

 

你可能感兴趣的:(windows 下安装webpack)