Webpack的使用

webpack的使用

在项目中安装和配置webpack

1、运行npm install webpack webpack-cli -D命令 安装webpack相关的包

2、在项目的根目录中,创建webpack.config.js的webpack 配置文件

3、在webpack 的配置文件中初始化如下基本配置

 module.exports={
     mode:'development'
 }

4、在package.json 配置文件中的scripts节点下新增dev脚本如下:

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

5、在终端输入 npm run dev 命令 ,启动webpack进行项目的打包

注意:该打包的方式因为没有指定打包的具体js文件名称和打包后js文件的名称,所以采用默认设置,打包的为index.js文件,打包后文件存放在dist文件中,文件名称为main.js

配置webpack打包的名称,路径
 const path = require('path') //导入node.js中专门操作路径的对象path
 module.exports={
     mode:'development', //设置当前打包的模式 有两种 development & production
     entry:path.join(__dirname , './src/index.js'), //配置打包入口
     output: {
         path: path.join(__dirname , './dist'),//设置输出文件的路径
         filename: 'bundle.js' //设置输出文件的名称
    }
 }

之后运行 npm run dev ,发现dist 文件中出现一个bundle.js文件 同时修改html文件中的js路径即可。

配置webpack的自动打包

作用:当改变JS中的某一部分内容时,无需再次运行命令 npm run dev 打包.

1、运行 npm install webpack-dev-server -D 命令 ,安装支持项目自动打包的工具

2、修改package.json中 scripts中的dev命令

 "scripts": {
     "test": "echo "Error: no test specified" && exit 1",
     "dev": "webpack-dev-server"
  },

3、将src中要运行的html中的 js路径修改为根目录下的JS文件

 <script src="/bundle.js"></script>

之后运行 npm run dev 命令打包一次即可

在浏览器中访问http://localhost:8080地址即可查看自动打包的效果

注意:webpack-dev-server 会生成一个实时的http服务器,打包生成的js文件默认放到了根目录中,但是看不到,是虚拟的,实际上是占用的物理内存。

配置webpack的默认生成预览页

作用: 在配置完自动打包后,访问localhost:8080 无法直接访问打包的页面,而是该项目的总目录。这里配置完默认生成预览页后,可以直接访问到项目的默认打包页

1、安装html-webpack-plugin插件:npm install html-webpack-plugin

2、在配置文件中引入node.js中的该插件的对象

 const HtmlWebpackPlugin =require('html-webpack-plugin');

3、为该对象创建实例实例,添加需求

 const htmlPlugin = new HtmlWebpackPlugin({
     template: './src/index.html', //指定要用到的模板文件
     filename: 'index.html'//指定生成的文件名称,改文件存在于内存中,在目录中不显示
 });

4、在module中注册plugin实例对象

 module.exports={
     mode:'development', //设置当前打包的模式 有两种 development & production
     entry:path.join(__dirname , './src/index.js'), //配置打包入口
     output: {
         path: path.join(__dirname , './dist'),//设置输出文件的路径
         filename: 'bundle.js' //设置输出文件的名称
    },
     plugins: [htmlPlugin] //注册实例对象
 };

之后运行 npm run dev即可

配置打包完成后自动打开浏览器进行浏览

在配置文件 package.json中的scripts节点中的 dev 节点中 加上 --ope即可 这是自动打开本地的浏览器,如果是服务器端 则后面还可以加上--host IP --port

webpack 配置打包除JS文件类型的其他文件类型的加载器
打包CSS文件

作用:基本的Webpack只能打包JS文件,但是要是其中包含CSS等其他类型的文件的时候是不能打包的,这时候要加入加载器,进行辅助打包

1、npm i style-loader css-loader 命令,安装处理 css文件的loader

2、在webpack.config.js 中的module 中 添加module 子节点 ,子节点中包含rules子节点 配置css的加载器

  module: {
         rules: [
            {test: /.css$/ , use:['style-loader' , 'css-loader']}
        ]
    }
 test表示匹配的文件类型,use表示要用到的加载器
webpack为有浏览器兼容性的样式自动配置兼容性前缀

1、运行npm i postcss-loader autoprefixer 命令

2、在项目根目录中创建postcss的配置文件 postcss.config.js 并初始化以下内容

 const autoprefixer = require('autoprefixer'); //导入插件
 module.exports = {
     plugin:[autoprefixer] //挂载插件
 }
webpack 配置Vue单文件 环境

1、运行 npm i vue-loader vue-template-compiler命令

2、在webpack.config.js配置文件中添加如下配置

 const VueLoaderPlugin = require('vue-loader/lib/plugin');
   plugins: [htmlPlugin , new VueLoaderPlugin()], //注册实例对象
     module: {
         rules: [
            {test: /.css$/ , use:['style-loader' , 'css-loader']},
            {test: /.less$/ , use:['style-loader', 'css-loader' , 'less-loader']},
            {test: /.css$/ , use:['style-loader' , 'css-loader', 'postcss-loader']},
            {test:/.vue$/ , loader: 'vue-loader'}
        ]
 



原文地址:https://www.cnblogs.com/zhang188660586/p/12263633.html