taro之--自定义编译

自定义编译​

在特定的情况下,Taro 自带的编译系统没有办法满足我们的编译需求,这时 Taro 提供了两种拓展编译的方案:

使用 Webpack 进行拓展​

在打包体积分析 中我们在 mini.webpackChain 添加了一个 Webpack 插件,达到了打包体积/依赖分析的效果。

事实上通过 mini.webpackChain 这个配置我们可以几乎使用任何 Webpack 生态的插件和 loader,例如我们想使用 CoffeeScript 来进行开发:

config/index

const config = {
  ...
  mini: {
    webpackChain (chain, webpack) {
      // webpack-chain 详细语法请参考文档:https://github.com/neutrinojs/webpack-chain
      chain.merge({
        module: {
          rule: {
            coffeeScript: {
              test: /\.coffee$/,
              use: {
                coffeeLoader: {
                  loader: 'coffee-loader'
                }
              }
            }
          }
        }
      })
    }
  }
}

同样,之前我们提到过的 CSS Modules 也可以通过 Webpack 的形式进行拓展支持。详情可以访问 webpack-chain 文档了解详细的用法。

使用插件化系统进行拓展​

在 [CSS 工具](#CSS 工具) 我们已经使用了名为 @tarojs/plugin-sass 的插件来实现对 Sass 的支持。比起使用 Webpack 拓展编译,Taro 的插件功能不用在每个端都对 Webpack 进行配置,只用使用插件即可。

除此之外,Taro 的插件化功能还可以拓展 Taro CLI 编译命令,拓展编译流程,拓展编译平台,你可以访问 插件功能文档 了解更多自定义配置的信息。

你可能感兴趣的:(taro,taro)