zoukankan      html  css  js  c++  java
  • vue之webpack

    一、介绍:

      1. js应用的模块打包工具

    二、webpack安装

      1. 环境:node环境

      2.  npm install webpack -g 

        说明:npm install 命令;webpack是工具名,可以指定版本如:webpack@5.58.3; -g表示全局安装,如果不想全局安装,仅为某项目安装开发时依赖,可以在进入该项目目录下执行安装命令, 将-g改为--save-dev;--save表示为本项目安装;-dev表示开发时依赖,运行时不需要使用时可以添加此option

        整体案例:npm install webpack@3.6.0 --save-dev

      3.  webpack --version 

        说明:查看webpack安装版本,正确显示说明安装成功。注意:高版本webpack查看版本时会让安装webpack脚手架(webpack-cli)

      4.  npm uninstall webpack -g 

        说明:移除webpack工具

    三、webpack打包

      1. webpack 入口js文件 打包后的js文件名

        说明:webpack是打包命令;入口文件是项目的入口,如main.js;打包后的文件名是打包成功后输出生成的文件名,如bundle.js

        整体案例: webpack ./src/main.js ./dist/bundle.js 

        注意:高版本需要添加-o作为option然后跟输出目录,生成的文件名为main.js;

        如:在5.58.3版本时,执行命令 webpack ./src/main.js -o ./dist/bundle.js ,会在dist目录下生成bundle.js目录,在bundle.js目录中生成main.js文件

      2. webpack

        说明:在webpack进行文件配置之后,可以直接使用webpack打包,webpack会从配置中查找入口文件和出口文件进行打包;文件名称:webpack.config.js

          配置方式:

    module.exports = {
        // 入口
        entry: './src/main.js',
        // 出口
        output: {
            // path必须为绝对路径
            path: absolutePath,
            filename: 'bundle.js'        
        }
    } 

          绝对路径相对化:在项目目录下执行npm init命令会生成package.json文件,此时在webpack.config.js配置文件中导入path模块,此时就会从package.json或者全局中查找path包,使用包中的resolve函数拼接出path

          导入模块: const path = require('path') 

          拼接绝对路径: path.join(__dirname, 'dist') 

            其中 __ditname是node中获取的当前项目的文件夹绝对路径

      3.  npm run *** 

        说明:npm run 命令可以用来执行脚本命令,在配置好映射之后便可以使用

          建立webpack打包映射:在package.json文件中的scripts中添加命令映射:如 "build":"webpack"

          在建立好上述映射之后,就可以使用npm run build进行打包构建,执行的就是webpack命令,使用的是配置信息

        此种打包方式会优先使用本地安装的webpack

    四、webpack的loader

      1. loader安装

        通过npm安装需要使用的loader;

      2. loader配置

        在webpack.confi.js中的module关键字下进行配置(去官网查找相关loader和用法。webpack.js.org)

      3. 整体案例:一:  npm install css-loader --save-dev; npm install style-loader --save-dev; 

            二:

    module.exports = {
        // ...
        module: {
            rules: [{
                test: /.css$/,
                use: ["style-loader", "css-loader"]
            }]
        }  
    }

    日期:2021-10-20

    五、webpack的plugin

      1. 安装相关模块

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

      2. 导入相关模块

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

      3. 添加到webpack.config.js配置文件中

    module.exports = {
        // ...
        plugins: [
            new VueLoaderPlugin(),
            new htmlWebpackPlugin({
                template: 'index.html'
            }),
            new webpack.BannerPlugin('版权插件'),
            new uglifyJsPlugin()
        ],
    }

    六、开发服务配置

      1. 安装webpack-dev-server

      2. 配置devServer

    module.exports = {
        // ...
        devServer: {
            // 服务的目录
            static: [
                {
                    directory: path.join(__dirname, 'dist')
                },
            ],
            // 实时文件
            watchFiles: {
                paths: ['dist/**/*']
            },
            // 指定端口
            port: 8081,
            // 首次启动时打开浏览器
            open: true,
        }
    }

    日期:2021-10-21

     

  • 相关阅读:
    Hibernate(7)关联关系_单向1对n
    Hibernate(6)关联关系_单向n对1
    Hibernate(5)session的方法
    Hibernate(4)简单的HelloWorld
    Hibernate(3)配置文件hibernate.cfg.xml
    Hibernate(2)映射文件Xxx-hbm.xml
    hadoop和spark的区别
    Elasticsearch的乐观并发控制和分片管理
    ArrayAdapter requires the resource ID to be a TextView
    activity打开失败,Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
  • 原文地址:https://www.cnblogs.com/xiao-lin-unit/p/15422349.html
Copyright © 2011-2022 走看看