webpack初始化配置

操作步骤

1、 npm i webpack -g (global全局)
npm i webpack-cli -g

2、 npm init
产生package.json

3、npm install webpack -S
npm install webpack -D

4、dependencies依赖项 存储的是-S
devdependencies开发者依赖性 存储的是-D

6、dist文件夹=》存储webpack打包之后的文件

html文件夹放html

新建一个main.js作为主文件

7、初级打包 webpack main.js --output dist/bundle.js

8、配置webpack之后,写入entry和output

9、通过webpack进行打包

10、通过webpack-dev-server热更新,实时完成打包,将js打包虚拟内存里面

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

webpack.config.js配置

const path = require("path"); //加载path包
//node内容
module.exports = {
  // entry:入口文件,我们要打包成什么文件
  // output:输出,我们要输出的内容
  // plugins:插件,因为webpack默认只能打包js,如果要打包html,vue,就需要插件
  // resolve:文件别名的配置 js/out/a/b/c.js =》c.js
  // moudule:配置规则,webpack打包 打包配置
  entry: path.join(__dirname, "./main.js"), //dirname文件运行路径
  //html前台,同级目录直接访问,但是后台 同级文件用./

  output: {
    path: path.join(__dirname, "./dist"),
    filename: "boundle.js",
  },
};
const path = require("path");

module.exports = {
  entry: "./main.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "boundle.js",
    publicPath: "dist/", //所有url前都会加上dist/
  },

  module: {
    rules: [{

        test: /\.(less|css)$/,
        /[图片上传失败...(image-c04094-1597320942781)]

s-loader只负责将css文件进行加载,不进行解析所以单独安装不会生效
        //style负责将样式添加到DOM中
        use: [{
            loader: "style-loader", // creates style nodes from JS strings
          },
          {
            loader: "css-loader", // translates CSS into CommonJS
          },
          {
            loader: "less-loader", // compiles Less to CSS
          },
        ], //打包时会从右向左进行编译,若载入顺序错误则会报错 (1:1) Unknown word
      },
      // url-loader 配置
      {
        test: /\.(png|jpg|gif)$/,
        use: [{
          loader: "url-loader",
          options: {
            //小于limit时会以base64格式(将图片转换成字符串的格式)渲染到页面中,
            // 大于limit的图片需要下载file-loader 否则会报错
            limit: 13000,
            name: "img/[name].[hash:8].[ext]", //由于打包时webpack为了区别每一张图片会给每张图片不同的32位的hash值,在真实开发中我们可能需要知道图片
            // 的名字所以所以需要配置 img:要打包到的图片路径,name:获取图片名字,hash:8 依然使用hash值,但只保留8位,ext:文件扩展名
          },
        }, ],
      },
      //babel-roader 配置
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/, //在对es6进行转化时exclude内的文件不会被转换
        use: {
          loader: "babel-loader",
          options: {
            presets: ["es2015"], //webpack在运行时会去找相关配置文件
          },
        },
      },
    ],
  },
};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容