一、Browserify
1、Browserify本身不是模块管理器,只是让服务器端的CommonJS格式的模块可以运行在浏览器端,这意味着通过它,我们可以使用Node.js的npm模块管理器。所以,实际上,它等于间接为浏览器提供了npm的功能
2、安装Browserify
npm i -g browserify
3、编写一个服务器端脚本
实例:
const num = require('num')
let hash = '1123123'
console.log('hash is ',num(hash))
上边的代码为node服务端代码,无法在浏览器中运行,这时,Browserify就登场了,将上面代码编译为浏览器脚本
命令:browserify robot.js > bundle.js
在浏览器环境中使用
<script src='./bundle.js'></script>
Browserify编译的时候,会将脚本所依赖的模块一起编译进去。这意味着,它可以将多个模块合并成一个文件
二、Browserify与webpack的选择
1、Browserify试图将Node生态系统扩展到浏览器中。 它仅支持Node的CommonJS require
语法,并为Node的许多核心功能提供了特定于浏览器的填充
2、Webpack寻求统一Javascript模块语法,并提供用于全部静态资产管理任务的工具。 它对您选择的模块语法没有任何限制,并完全支持Javascript,CSS甚至图像预处理。
总结:如果您的项目和依赖项已经与Node生态系统紧密相关,则Browserify是一个不错的选择。 如果您需要比静态脚本强大的功能来管理静态资产,那么Webpack就是您的工具。