首页 > Web开发 > 详细

kkb --- webpack实战

时间:2019-12-02 23:20:04      阅读:93      评论:0      收藏:0      [点我收藏+]

体验webpack

  • npm init -y
  • 局部安装webpack:  (不推荐全局安装,全局安装会造成版本不稳定,如果多个项目依赖的版本不同,会造成构建失败)
  • npm i webpack webpack-cli -D
  • 查看webpack版本:   npx webpack -v   (去当前项目中去找)
  • 创建src目录,新建 index.js 文件,写入  console.log(‘hello webpack‘)
  • 打开 package.json 文件,将scripts下的 test命令修改为  "test": "webpack"
  • 在命令行执行 npm run test后,此时发现目录中多个个dist文件夹,新建个 index.html 文件,然后引入dist中的 main.js 就可以查看到 hello webpack

 

webpack is a module bundle(模块打包工具)

Webpack是一个打包模块化JavaScript的工具,它会从入口模块出发,识别出源码中的模块化导入语句,递归的找出入口文件的所有依赖,将入口和其所有的依赖打包到一个单独的文件中。

是工程化、自动化思想在前端开发中的体现。

 

webpack的默认配置

  • 默认入口模块
    • ./src/index.js
  • 默认输出模块
    • 名称: main.js
    • 路径:./dist
  • webpack默认支持多种模块类型:commonJS、ESModule、AMD
  • webpack默认支持 js 模块和 json 模块

 

webpack不适合用于 JavaScript 库的构建,因为不够纯粹,库一般用 rollup 构建

 

修改默认配置

新建 webpack.config.js 文件

const path = require(path)

module.exports = {
  // webpack的执行入口
  entry: ./src/index.js,
  // 输出
  output: {
    // 输出到哪里,必须是绝对路径
    path: path.resolve(__dirname, "./dist"),
    filename: "main.js"
  },
  // 模式(开发模式或生产模式)
  mode: "development"
}

 

使用多份配置:

新建 webpack.dev.config.js 文件

const path = require(path)

module.exports = {
  // webpack的执行入口
  entry: ./src/index.js,
  // 输出
  output: {
    // 输出到哪里,必须是绝对路径
    path: path.resolve(__dirname, "./build"),
    filename: "index.js"
  },
  // 模式(开发模式或生产模式)
  mode: "development"
}

 

在 package.json 文件的scripts下加入:

"dev": "webpack --config webpack.dev.config.js"
执行 npm run dev 就会执行 webpack.dev.config.js 这份配置
 
项目中使用图片,webpack需要使用 loader来解析图片
  • 安装:npm i file-loader -D
  • 在webpack的配置文件中使用loader
// 处理模块
module: {
  rules: [
    // .css .png .ts .jsx等多种类型的格式文件
    // 处理图片
    {
      test: /\.(jpe?g|png|gif)$/,
      use: ["file-loader"]
    }
  ]
}

 

  • 在项目中使用图片
import pic from ‘./logo.jpg‘

var img = new Image()
img.src = pic

var app = document.getElementById(‘app‘)
app.append(img)

 

kkb --- webpack实战

原文:https://www.cnblogs.com/haishen/p/11973327.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!