美文网首页
webpack 入门

webpack 入门

作者: SingleDiego | 来源:发表于2019-07-21 15:31 被阅读0次

官方文档:https://www.webpackjs.com/guides/getting-started/




安装 webpack

首先我们的文档结构如下:

webpack-demo
|- /dist
  |- index.html
|- /src
  |- index.js

为了使用 npm 做包管理我们先做初始化:

npm init -y

在本地安装 webpack:

npm install webpack webpack-cli --save-dev

安装的是 webpackwebpack-cli 两个包,前者是 webpack 的核心部分,后者是 webpack 的命令行工具。

--save-dev 表示该包安装到开发环境依赖。

现在文档结构是这样:

webpack-demo
|- /dist
  |- index.html
|- /node_modules
  |- 安装的包保存在此
  |- ...........
|- /src
  |- index.js
|- package-lock.json
|- package.json




前期准备

src/index.js 代码如下:

import _ from 'lodash';

function component() {
  var element = document.createElement('div');
  
  // 用 Lodash 拼接生成新的字符串并写入页面 HTML
  element.innerHTML = _.join(['Hello', 'webpack'], ' ');

  return element;
}

document.body.appendChild(component());

注意,我们这里引用了字符串处理的库 lodash,所以我们应该先使用 npm 安装:

npm install lodash --save 

在安装一个要打包到生产环境的安装包时,你应该使用 npm install --save

如果你在安装一个用于开发环境的安装包(例如,linter, 测试库等),你应该使用 npm install --save-dev

dist/index.html 代码如下:

<!doctype html>
<html>
  <head>
    <title>webpack 入门</title>
  </head>
    
  <body>
    <script src="bundle.js"></script>
  </body>
</html>

注意,script 引入的 bundle.js 现在还不存在,等下用 webpack 把 js 文件打包后才会生成该文件。




简单打包

前期准备工作已经完成,现在开始用 webpack 打包。

最简单的方法是直接在根目录(webpack-demo)运行命令:

npx webpack

它会将我们的脚本(src/index.js)作为入口起点,然后把相关 js 文件打包好,输出为 dist/main.js

在浏览器中打开 index.html,如果一切访问都正常(当然你需要修改一下 main.js 的文件名为 bundle.js),你应该能看到以下文本:'Hello webpack'。




配置文件

我们新添加一个配置文件 webpack.config.js,现在文档结构:

webpack-demo
|- /dist
  |- index.html
|- /node_modules
  |- 安装的包保存在此
  |- ...........
|- /src
  |- index.js
|- package-lock.json
|- package.json
|- webpack.config.js

webpack.config.js 代码如下:

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  }
};

现在,让我们通过新配置文件再次运行 webpack:

npx webpack --config webpack.config.js

如果 webpack.config.js 存在,则 webpack 命令将默认选择使用它。我们在这里使用 --config 选项只是为了说明,可以传递任何名称的配置文件。这对于需要拆分成多个文件的复杂配置是非常有用。

另外,当在 windows 中通过调用路径去调用 webpack 时,必须使用反斜线。例如 node_modules\.bin\webpack --config webpack.config.js




使用 npm 脚本

前一种方法在使用中并不方便,我们在 package.json 添加一个 npm 脚本(npm script):

package.json

{
  "name": "webpack-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    // 添加的新脚本
    "build": "webpack"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.36.1",
    "webpack-cli": "^3.3.6"
  },
  "dependencies": {
    "lodash": "^4.17.15"
  }
}

现在,可以使用 npm run build 命令,来替代我们之前使用的 npx 命令。

相关文章

网友评论

      本文标题:webpack 入门

      本文链接:https://www.haomeiwen.com/subject/zfjmlctx.html