打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用webpack来取代browserify

本来打算一心跟着browserify走的,但是无奈它的transform机制令人烦躁。今天有这么一个需求,配置了一会,感觉用browserify搞不定。

一个react项目,我的jsx文件需要编译,于是jsx中会require('react'),但是我又不想在输出的bundle.js中包含react那1.5W行的代码,原因有二:

  • 输出的代码太多,分散我的注意力
  • 业务代码就那么点,却需要对整个react进行解析,速度太慢

于是我找到了browserify + literalify的解决方案,无奈的是始终无法搓合browserify + reactify + literalify,只得放弃。

开始尝试其竞品webpack,webpack做为一个专业的面向web的打包工具,拥用了一系列browserify不具备的,得依靠插件才能完成的事情。

在webpack中完成我的需求就非常简单了,只须要一个webpack.config.js文件说明一下配置项即可:

module.exports = {    // 表示入口文件    entry: "./app.js",    // 表示输出文件    output: {        path: __dirname,        filename: "bundle.js"    },    // 表示这个依赖项是外部lib,遇到require它不需要编译,    // 且在浏览器端对应window.React    externals: {      'react': 'window.React'    },    // 凡是遇到jsx结尾的,都用jsx-loader这个插件来加载,    // 且启用harmony模式    module: {        loaders: [            { test: /\.js/, loader: "jsx-loader?harmony" }        ]    }};

再执行一下webpack,整个世界都好了。

而且webpack还自带watch功能,只需要webpack --progress --colors --watch就能看到带进度,带颜色的输出了。

最后在packages.json中的scripts下加上:

"pack": "webpack --progress --colors --watch"

从此就只用输入npm run-script pack来执行喽。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
React项目从Javascript到Typescript的迁移经验总结
在2016 年学 JavaScript 是一种什么样的体验?
Webpack+React+ES6开发模式入门指南
webpack+react+nodejs服务端渲染
Webpack的工程化实践
致我们终将组件化的Web
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服