WebPack打包工具

WebPack

是一个资源加载打包工具

使用

npm -g 全局安装(C:\Users\Administrator\AppData\Roaming\npm)

npm install <Model Name> 本地安装
//安装
npm install webpack -g

npm install webpack-cli -g

//使用
npx webpack main.js 

本地安装-不同文件不同版本号

npm init -y

npm install webpack@4.13.5 -D

npx webpack 
模块打包工具

分析项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用

模块配置文件

创建

touch webpack.config.js

进行配置

const path = require('path'); //引入核心模块

module.exports = {
    mode:'production', //development | production
    entry:{
        main:'./src/index.js'
    }, //入口文件
    output:{
        filename:"bundle.js",
        path:path.resolve(__dirname,'dist')
    },

}

最后只要在html中引入./bundle.js就可以了

package.json

{
  "name": "web",
  "version": "1.0.0",
  "description": "A Vue.js project",
  "author": "taoya7 <569781231@qq.com>",
  "private": true,
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "unit": "jest --config test/unit/jest.conf.js --coverage",
    "e2e": "node test/e2e/runner.js",
    "test": "npm run unit && npm run e2e",
    "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",
    "build": "node build/build.js"
  },
  "dependencies": {
    "iview": "^3.4.2",
    "vue": "^2.5.2",
    "vue-router": "^3.0.1"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.2",
    "babel-core": "^6.22.1",
    "babel-eslint": "^8.2.1",
    "babel-helper-vue-jsx-merge-props": "^2.0.3",
    "babel-jest": "^21.0.2",
    "babel-loader": "^7.1.1",
    "babel-plugin-dynamic-import-node": "^1.2.0",
    "babel-plugin-syntax-jsx": "^6.18.0",
    "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
    "babel-plugin-transform-runtime": "^6.22.0",
    "babel-plugin-transform-vue-jsx": "^3.5.0",
    "babel-preset-env": "^1.3.2",
    "babel-preset-stage-2": "^6.22.0",
    "babel-register": "^6.22.0",
    "chalk": "^2.0.1",
    "chromedriver": "^2.27.2",
    "copy-webpack-plugin": "^4.0.1",
    "cross-spawn": "^5.0.1",
    "css-loader": "^0.28.0",
    "eslint": "^4.15.0",
    "eslint-config-standard": "^10.2.1",
    "eslint-friendly-formatter": "^3.0.0",
    "eslint-loader": "^1.7.1",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-node": "^5.2.0",
    "eslint-plugin-promise": "^3.4.0",
    "eslint-plugin-standard": "^3.0.1",
    "eslint-plugin-vue": "^4.0.0",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "^1.1.4",
    "friendly-errors-webpack-plugin": "^1.6.1",
    "html-webpack-plugin": "^2.30.1",
    "jest": "^22.0.4",
    "jest-serializer-vue": "^0.3.0",
    "nightwatch": "^0.9.12",
    "node-notifier": "^5.1.2",
    "optimize-css-assets-webpack-plugin": "^3.2.0",
    "ora": "^1.2.0",
    "portfinder": "^1.0.13",
    "postcss-import": "^11.0.0",
    "postcss-loader": "^2.0.8",
    "postcss-url": "^7.2.1",
    "rimraf": "^2.6.0",
    "selenium-server": "^3.0.1",
    "semver": "^5.3.0",
    "shelljs": "^0.7.6",
    "uglifyjs-webpack-plugin": "^1.1.1",
    "url-loader": "^0.5.8",
    "vue-jest": "^1.0.2",
    "vue-loader": "^13.3.0",
    "vue-style-loader": "^3.0.1",
    "vue-template-compiler": "^2.5.2",
    "webpack": "^3.6.0",
    "webpack-bundle-analyzer": "^2.9.0",
    "webpack-dev-server": "^2.9.1",
    "webpack-merge": "^4.1.0"
  },
  "engines": {
    "node": ">= 6.0.0",
    "npm": ">= 3.0.0"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

1.常用命令

# 生成 package.json 文件(需要手动选择配置)
npm init

# 生成 package.json 文件(使用默认配置)
npm init -y

# 一键安装 package.json 下的依赖包
npm i

# 在项目中安装包名为 xxx 的依赖包(配置在 dependencies 下)
npm i xxx

# 在项目中安装包名为 xxx 的依赖包(配置在 dependencies 下)
npm i xxx --save

# 在项目中安装包名为 xxx 的依赖包(配置在 devDependencies 下)
npm i xxx --save-dev

# 全局安装包名为 xxx 的依赖包
npm i -g xxx

# 运行 package.json 中 scripts 下的命令
npm run xxx

2.第三方插件

"browserslist": [
    "> 1%", // 表示包含所有使用率 > 1% 的浏览器
    "last 2 versions", // 表示包含浏览器最新的两个版本
    "not ie <= 8" // 表示不包含 ie8 及以下版本
]

上面的package.json文件最后有这个配置。代表的是第三方插件配置

主要作用:用于在不同的前端工具之间共享目标浏览器和 Node.js 的版本


  转载请注明: linis WebPack打包工具

 上一篇
Apache服务器配置 Apache服务器配置
配置Java环境 解压安装JDK tar -zxvf 压缩包 配置环境变量 export JAVA_HOME=/home/admin/java/jdk1.8 export PATH=$JAVA_HOME/bin:$PATH export
2019-05-22
下一篇 
Linux-文件系统 Linux-文件系统
文件的表示ls 10位字符表示 0-确定文件类型 1-3 确定文件的所有者的权限 4-6 确定文件的同一组的权限 7-9 确定文件的其他用户的权限 0字符 确定了文件的类型(目录|文件|链接) [d]目录 [-]文件 [l]链接文档 [
2019-05-18
  目录