webpack--1
Posted 前端傻狍子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack--1相关的知识,希望对你有一定的参考价值。
webpack可以看做是模块打包机,他会分析你的项目结构,找到javascript模块以及其他语言将其转换和打包为合适的格式供浏览器使用
WebPack和Grunt以及Gulp相比有什么特性?
Gulp/Grunt是一种能够优化前端的开发流程的工具,而WebPack是一种模块化的解决方案.
Grunt和Gulp的工作方式是:在一个配置文件中,指明对某些文件进行类似编译,组合,压缩等任务的具体步骤,工具之后可以自动替你完成这些任务;
Webpack的工作方式是:把你的项目当做一个整体,通过一个给定的主文件(如:index.js),Webpack将从这个文件开始找到你的项目的所有依赖文件,使用loaders处理它们,最后打包为一个(或多个)浏览器可识别的JavaScript文件。
如果实在要把二者进行比较,Webpack的处理速度更快更直接,能打包更多不同类型的文件。
正式使用webpack.
1.安装
新建一个文件夹,在终端中转到该文件夹后执行指令完成安装
//全局安装
npm install -g webpack
//安装到你的项目目录
npm install --save-dev webpack
2.使用前的准备
a.在终端中使用npm init
命令自动创建package.json文件
b.在本项目中安装Webpack作为依赖包
// 安装Webpack
npm install --save-dev webpack
c.回到之前的空文件夹,并在里面创建两个文件夹,app文件夹和public文件夹,app文件夹用来存放原始数据和我们将写的JavaScript模块,public文件夹用来存放之后供浏览器读取的文件(包括使用webpack打包生成的js文件以及一个index.html
文件)。接下来我们再创建三个文件:
index.html
--放在public文件夹中;Greeter.js
-- 放在app文件夹中;main.js
-- 放在app文件夹中;
d.我们在index.html文件中写入最基础的html代码,它在这里目的在于引入打包后的js文件(这里我们先把之后打包后的js文件命名为bundle.js
,之后我们还会详细讲述)。
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Webpack Sample Project</title>
</head>
<body>
<div id='root'>
</div>
<script src="bundle.js"></script>
</body></html>
我们在Greeter.js
中定义一个返回包含问候信息的html
元素的函数,并依据CommonJS规范导出这个函数为一个模块:
// Greeter.js
module.exports = function() {
var greet = document.createElement('div');
greet.textContent = "Hi there and greetings!";
return greet;
};
main.js
文件中我们写入下述代码,用以把Greeter模块
返回的节点插入页面。
//main.js
const greeter = require('./Greeter.js');
document.querySelector("#root").appendChild(greeter());
3.正式使用webpack
webpack可以在终端中使用,在基本的使用方法如下:
# {extry file}出填写入口文件的路径,本文中就是上述main.js的路径,
# {destination for bundled file}处填写打包文件的存放路径
# 填写路径的时候不用添加{}
webpack {entry file} {destination for bundled file}
# webpack非全局安装的情况
node_modules/.bin/webpack app/main.js public/bundle.js
结果可以看出webpack
同时编译了main.js
和Greeter,js
,现在打开index.html
,可以看到结果
Hi there and greetings!
以上是关于webpack--1的主要内容,如果未能解决你的问题,请参考以下文章