webpack

2022-11-29 08:54:29 浏览数 (1)

webpack.config.js配置文件

  • entry: js的入口文件
  • externals: 外部依赖的声明
  • output:目标文件
  • resolve:配置别名
  • module:各种文件,各种loader
  • plugins:插件

2 webpack loaders(最重要部分)

html:html-webpack-plugin / html-loader js:babel-loader babel-preset-es2015 css:style-loader css-loader image font:url-loader

3 常用命令

  • webpack 以不压缩的形式打包
  • webpack -p 线上发布时的打包,对所有文件进行最小化压缩
  • webpack –watch(有了4后,此命令几乎无用了) 监听文件的改变,自动编译
  • webpack –config webpack.config.js

4 webpack-dev-server

作用:前端开发服务器 特色:可以在文件改变时,自动刷新浏览器 安装:npm install webpack-dev-server –save-dev 配置:webpack-dev-server/client?http://localhost:8088 使用:webpack-dev-server –port 8088 –inline

5 安装webpack

在git bash中执行(全局webpack安装)

代码语言:javascript复制
Shusheng Shi@PC-of-sss MINGW64 ~/mmall/doc/mmall-fe (mmall_v1.0)
$ npm install webpack -gnpm WARN optional dep failed, continuing fsevents@1.1.2
> uglifyjs-webpack-plugin@0.4.6 postinstall C:UsersShusheng Shimmalldocmmal                                                                       l-fenode_moduleswebpacknode_modulesuglifyjs-webpack-plugin
> node lib/post_install.js
                  webpack@3.6.0 node_moduleswebpack
├── tapable@0.2.8
├── loader-runner@2.3.0
├── interpret@1.0.4
├── json-loader@0.5.7
├── json5@0.5.1
├── acorn@5.1.2
├── supports-color@4.4.0 (has-flag@2.0.0)
├── source-map@0.5.7
├── ajv-keywords@2.1.0
├── loader-utils@1.1.0 (big.js@3.2.0, emojis-list@2.1.0)
├── webpack-sources@1.0.1 (source-list-map@2.0.0)
├── mkdirp@0.5.1 (minimist@0.0.8)
├── enhanced-resolve@3.4.1 (object-assign@4.1.1, graceful-fs@4.1.11)
├── acorn-dynamic-import@2.0.2 (acorn@4.0.13)
├── memory-fs@0.4.1 (errno@0.1.4, readable-stream@2.3.3)
├── yargs@8.0.2 (get-caller-file@1.0.2, decamelize@1.2.0, camelcase@4.1.0, y18n@                                                                       3.2.1, set-blocking@2.0.0, which-module@2.0.0, yargs-parser@7.0.0, require-main-                                                                       filename@1.0.1, require-directory@2.1.1, string-width@2.1.1, cliui@3.2.0, os-loc                                                                       ale@2.1.0, read-pkg-up@2.0.0)
├── ajv@5.2.3 (co@4.6.0, json-schema-traverse@0.3.1, fast-deep-equal@1.0.0, json                                                                       -stable-stringify@1.0.1)
├── uglifyjs-webpack-plugin@0.4.6 (uglify-js@2.8.29)
├── watchpack@1.4.0 (graceful-fs@4.1.11, chokidar@1.7.0)
├── node-libs-browser@2.0.0 (https-browserify@0.0.1, tty-browserify@0.0.0, path-                                                                       browserify@0.0.0, punycode@1.4.1, string_decoder@0.10.31, constants-browserify@1                                                                       .0.0, os-browserify@0.2.1, process@0.11.10, assert@1.4.1, domain-browser@1.1.7,                                                                        querystring-es3@0.2.1, stream-browserify@2.0.1, events@1.1.1, timers-browserify@                                                                       2.0.4, vm-browserify@0.0.4, util@0.10.3, console-browserify@1.1.0, url@0.11.0, r                                                                       eadable-stream@2.3.3, stream-http@2.7.2, buffer@4.9.1, browserify-zlib@0.1.4, cr                                                                       ypto-browserify@3.11.1)
├── escope@3.6.0 (estraverse@4.2.0, esrecurse@4.2.0, es6-weak-map@2.0.2, es6-map                                                                       @0.1.5)
└── async@2.5.0 (lodash@4.17.4)

项目目录安装webapck(本地webpack安装,防止部署环境和本地依赖包版本不一致)

代码语言:javascript复制
$ npm install webpack@1.15.0 --save-dev                                                                                          npm WARN optional dep failed, continuing fsevent                                                                                 s@1.1.2
webpack@1.15.0 node_moduleswebpack
├── interpret@0.6.6
├── tapable@0.1.10
├── clone@1.0.2
├── async@1.5.2
├── supports-color@3.2.3 (has-flag@1.0.0)
├── loader-utils@0.2.17 (object-assign@4.1.1, bi                                                                                 g.js@3.2.0, emojis-list@2.1.0, json5@0.5.1)
├── enhanced-resolve@0.9.1 (graceful-fs@4.1.11,                                                                                  memory-fs@0.2.0)
├── mkdirp@0.5.1 (minimist@0.0.8)
├── acorn@3.3.0
├── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0                                                                                 .10)
├── memory-fs@0.3.0 (errno@0.1.4, readable-strea                                                                                 m@2.3.3)
├── webpack-core@0.6.9 (source-list-map@0.1.8, s                                                                                 ource-map@0.4.4)
├── uglify-js@2.7.5 (async@0.2.10, uglify-to-bro                                                                                 wserify@1.0.2, source-map@0.5.7, yargs@3.10.0)
├── node-libs-browser@0.7.0 (https-browserify@0.                                                                                 0.1, tty-browserify@0.0.0, path-browserify@0.0.0                                                                                 , punycode@1.4.1, string_decoder@0.10.31, consta                                                                                 nts-browserify@1.0.0, os-browserify@0.2.1, proce                                                                                 ss@0.11.10, assert@1.4.1, domain-browser@1.1.7,                                                                                  querystring-es3@0.2.1, events@1.1.1, stream-brow                                                                                 serify@2.0.1, vm-browserify@0.0.4, timers-browse                                                                                 rify@2.0.4, util@0.10.3, console-browserify@1.1.                                                                                 0, url@0.11.0, readable-stream@2.3.3, stream-htt                                                                                 p@2.7.2, browserify-zlib@0.1.4, buffer@4.9.1, cr                                                                                 ypto-browserify@3.3.0)
└── watchpack@0.2.9 (graceful-fs@4.1.11, async@0                                                                                 .9.2, chokidar@1.7.0)

看下版本

代码语言:javascript复制
Shusheng Shi@PC-of-sss MINGW64 ~/mmall/doc/mmall                                                                                 -fe (mmall_v1.0)
$ webpack -v
webpack 1.15.0
Usage: https://webpack.github.io/docs/cli.html

看下文件,新增了node_modules/

代码语言:javascript复制
Shusheng Shi@PC-of-sss MINGW64 ~/mmall/doc/mmall-fe
$ ls
README.md  node_modules/  package.json  src/

看出webpack就安装于此

代码语言:javascript复制
Shusheng Shi@PC-of-sss MINGW64 ~/mmall/doc/mmall-fe          (mmall_v1.0)
$ cd node_modules/

Shusheng Shi@PC-of-sss MINGW64 ~/mmall/doc/mmall-fe         /node_modules (mmall_v1.0)
$ ls
webpack/

0 人点赞