zoukankan      html  css  js  c++  java
  • 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'}
            ]
     



  • 相关阅读:
    SSM项目使用GoEasy 实现web消息推送服务
    Spring中RedirectAttributes的用法
    Mybatis传递多个参数
    Mysql异常之——Packet for query is too large (10240 > 1024). You can change this value
    记自己在mybatis中设置jdbcType的一个坑
    Linux中各个目录作用
    Linux启动/停止/重启Mysql数据库
    ssm项目跨域访问
    Mybatis异常之——NoSuchMethodException
    Tomcat异常之——启动报错Failed to start component
  • 原文地址:https://www.cnblogs.com/zhang188660586/p/12263633.html
Copyright © 2011-2022 走看看