• webpack基本使用


    1.初始化项目

    npm init -y
    

    2.安装webpack

    cnpm install webpack webpack-cli -D
    

    3.创建src、dist文件夹
    4.创建webpack.config.js文件

    const path = require('path');
    mode:'development',   //开发环境
    //定义入口文件路径以及出口文件路径
    const PATH = {
        dev:path.join(__dirname,"./src/main.js"),
        build:path.join(__dirname,"./dist")
    }
    

     

     //webpack配置
    module.exports = {
       //入口文件
          entry:{
             app:PATH.dev
          },
       //出口文件
         output:{
             filename:"[name].js",
             path:PATH.build
         }
    }
    

    5.在src中创建入口文件main.js
    6.初始打包

    npx webpack
    

    7.安装解析js的babel文件

    babel是一个编译javascript的平台
    babel的安装与配置
    1.首先安装这些包
      cnpm install --save-dev @babel/core babel-loader @babel/preset-env @babel/preset-react
       rules:[
            {
                test:/.(js)$/,
                use:{
                    loader:"babel-loader",
                    options:{
                        presets:["@babel/env"]
                    }
                }
               
            }
        ]
      
    

    8.安装解析css的loader文件

     cnpm install --save-dev style-loader css-loader  sass-loader node-sass
     //css
      {
            test:/.(css|scss)$/,
            use:["style-loader","css-loader","sass-loader"]
      }
    

    9.安装html插件 会默认在dist文件夹生成一个index.html

     cnpm install -D html-webpack-plugin
     引入:const htmlWebpackPlugin = require("html-webpack-plugin")
    
      //插件
      plugins:[
          new htmlWebpackPlugin({
              filename:"index.html",
              template:"index.html",
              title:"Vue"
          })
      ]
    

    10.安装处理图片的loader

      cnpm install url-loader file-loader -D
      {
        /* 当图片的大小小于2048的时候用url-loader做解析
           大于2048的时候用file-loader做解析 系统会自动去找file-loader
    
            url-loader:做解析的时候会解析成base64的形式
            file-loader会解析成原本的形式            
         */
                test:/.(jpg|png|gif)$/,
                use:{
                    loader:"url-loader",
                    options:{
                        limit:2048
                    }
                }
       }
    

    11.安装处理vue的文件loader

    cnpm install -D vue-loader vue-template-compiler
      引入:const VueLoaderPlugin = require('vue-loader/lib/plugin')
    
       {
            test:/.vue$/,
            loader:"vue-loader"
       }
      plugins:[
          new VueLoaderPlugin()
      ]
    

    12.安装vue.js

     cnpm install vue -S
    

    13.安装服务器环境

       cnpm install webpack-dev-server -D  帮你自动创建服务器
        devServer:{
           open:true
        }
        在package.json   "scripts": {
                              "dev": "webpack-dev-server"
                         }, 
       
        运行  npm run dev
    

    webpack.config.js

    const path = require('path');
      const htmlWebpackPlugin = require("html-webpack-plugin");
      const VueLoaderPlugin = require('vue-loader/lib/plugin');
      //定义入口文件路径以及出口文件路径
      const PATH = {
         dev:path.join(__dirname,"./src/main.js"),
         build:path.join(__dirname,"./dist")
      }
    
    
    module.exports = {
          mode:'development',//开发环境
          //入口文件
          entry:{
            app:PATH.dev
          },
          //出口文件
          output:{
              filename:"[name].js",
             path:PATH.build
          },
         //配置loader 将浏览器不识别的一些语法转换为浏览器识别的一些语法
        module:{
        //规则
          rules:[
            {
                test:/.(js)$/,
                use:{
                    loader:"babel-loader",
                    options:{
                        presets:["@babel/env"]
                    }
                }
               
            },
             //css
            {
                test:/.(css|scss)$/,
                use:["style-loader","css-loader","sass-loader"]
            },
            {
               /* 当图片的大小小于2048的时候用url-loader做解析
                 大于2048的时候用file-loader做解析 系统会自动去找file-loader
    
                 url-loader:做解析的时候会解析成base64的形式
                file-loader会解析成原本的形式
               
               */
                
                test:/.(jpg|png|gif)$/,
                use:{
                    loader:"url-loader",
                    options:{
                        limit:2048
                    }
                }
            },
            {
                test:/.(woff|svg|eot|ttf|woff2)$/,
                use:["url-loader"]
            },
            {
                test:/.vue$/,
                loader:"vue-loader"
            }
            
         ]
      },
      //插件
      plugins:[
         new htmlWebpackPlugin({
             filename:"index.html",
             template:"index.html",
             title:"Vue"
         }),
         new VueLoaderPlugin()
      ],
      devServer:{
         open:true
      }
    }
    

      

  • 相关阅读:
    C# 利用DataTable批处理数据导入数据库
    人员基础信息一体化采集系统建设方案
    定时调用WebService方法同步数据
    进程间通信
    信号
    Linux进程基础
    来自硬件男的《信号与系统》整理笔记
    shell脚本编程(ubantu)
    Linux系统c语言开发环境
    Linux系统用户管理及VIM配置
  • 原文地址:https://www.cnblogs.com/ccyq/p/11287970.html
Copyright © 2020-2023  润新知