这几天稍微研究了下webpack,虽然知道的不多,但也稍微记录下心得。webpack作为时下非常流行的打包工具,还是有必要掌握的。

 闲话不说了,直接进入正题,这里只是简单的介绍操作流程,想了解原理的自己百度。

首先你需要下载安装nodejs(建议下载git客户端执行命令,比较好用)

安装webpack

npm install -g webpack

开始

这里我在电脑上新建了一个webpack文件夹:

在目录下我首先新建index.html

<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<script src="./bundle.js"></script>
</body>
</html>

 

接着新建一个index.js

docume.write("test webpack");

 

接着我们执行 webpack ./index.js bundle.js ,执行完成后我们会发现目录下生成了一个bundle.js,我们将这个js引入到index.html中。

用浏览器打开index.html,显示 test webpack

再添加一个文件 content.js

module.exports = "it works from content.js"

更新index.js

document.write(require("./content.js"))

在执行一下命令

webpack ./index.js bundle.js

刷新浏览器

添加loader

添加css文件,webpack原生仅支持javascript,所以我们需要css-loader来处理css文件,同时我们也需要style-loader来应用这些样式。

运行 npm install css-loader style-loader 安装loader,这会在你的目录下生成node_modules文件夹。

添加 style.css 文件

body{
  background: yellow;  
}

 

 更新index.js

require("!style!css!./style.css");
document.write(require("./content.js"));

 

 再次执行 webpack ./index bundle.js,刷新浏览器会发现背景变为黄色

配置文件

每次都写 require("!style!css!./style/css");是一件很麻烦的事情,我们可以在配置文件中写入这些配置

添加webpack.config.js

module.exports = {
	entry: "./index.js",
	output:{	
		path:__dirname,
		filename:"bundle.js"
	},
	module:{
		loaders: [
			{
				test:/\.css$/,
				loader:'style-loader!css-loader'
			}
		]
	}
}

  

更新index.js

require("./style.css");
document.wirte(require("./content.js"));

 

执行 webpack, webpack 总会尝试载入当前目录中的webpack.config.js文件

整个流程执行完毕

 

我们可以一开始就写好webpack.config.js,然后执行,npm install。打开index.html

具体流程如下

执行npm init生成package.json ,编辑package.json

{
  "name": "package.json",
  "version": "1.0.0",
  "description": "今天来简单的介绍下webpack的基本使用",
  "main": "index.js",
  "dependencies": {},
  "devDependencies": {
    "css-loader": "~0.9.0",
    "style-loader": "~0.8.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "enochjs",
  "license": "ISC"
}

执行npm install,加载依赖文件

执行webpack 生成bundle.js

在浏览器中打开index.html

 

posted on 2016-04-11 19:42  enochjs  阅读(174)  评论(0编辑  收藏  举报