随着前端技术的不断发展,前端工程化变得越来越重要,而其中一个非常重要的部分就是自动化构建。而构建过程中最基础的部分就是源代码的监听和转换了。npm 包 reewr-watchify 就是一个非常好用的工具,可以帮助我们在代码发生变化时自动化地进行转换和重新生成。
安装 reewr-watchify
在全局安装 reewr-watchify:
npm install -g reewr-watchify
使用 reewr-watchify
reewr-watchify 的使用非常简单,第一次使用需要在当前工程目录下执行以下命令:
reewr-watchify init
执行这个命令之后,reewr-watchify 会自动在你的项目中生成一个名为 reewr.config.js 的配置文件。
接下来,我们可以很轻松的使用 reewr-watchify 监听代码变化并进行转换:
reewr-watchify build
以上命令会询问你想转换哪个源文件,你可以填写你的源文件名来进行监听。
reewr-watchify 还支持在转换过程中添加自定义的 babel 插件,你可以在 reewr.config.js 中的 plugins 列表里添加你的插件名称。
例如,我们想要添加一个自定义的 babel 插件来将代码中的 es6 import/export 转换成 commonjs,并且添加一个全局变量 DEBUG 来帮助我们开发过程中进行调试。我们可以在 reewr.config.js 中添加以下代码:
-- -------------------- ---- ------- -------------- - - -------- - ---------------------------------- - -------------------- - ---------- -------------------- -------- - ------ ------------------------------------- -- ------------------ ----- -- --------------------- - ---------- -------------------- -------- - ------ -------------------------------------- -- ------------------ ----- -- --- -------------------------------------------------- - ------ ---- --- -- --------------- - ---------- ----- - --
在这个例子中,我们添加了一个 babel 插件叫做 babel-plugin-transform-imports,它可以将 import 引入的第三方库转换成按需引入的形式,从而提高代码执行效率。
我们还添加了一个 babel 插件叫做 babel-plugin-transform-es2015-modules-commonjs,它可以将 es6 import/export 语法转换成 commonjs 方式,使得代码可以在 node 环境中运行。
另外,我们还添加了一个全局变量 DEBUG,它可以帮助我们在开发过程中进行调试。
总结
虽然 reewr-watchify 的使用非常简单,但它提供的功能却非常强大,在前端工程化中起着至关重要的作用。我们可以通过添加自定义的 babel 插件和配置文件来满足不同的需求,并提高我们的开发效率。
以下是一个基础的 reewr.config.js 示例代码:
module.exports = { entry: 'src/index.js', // 入口文件 dist: 'dist/main.js', // 输出文件 format: 'cjs', // 输出格式 sourceMap: true, // 是否生成 Source Map plugins: [], // 自定义 babel 插件 globalVaribles: {}, // 全局变量 }
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067012e361a36e0bce8dc2