如何条件加载组件?

时间:2017-08-24 15:20:05

标签: javascript angular typescript webpack

我有一个角度2的应用程序,每个客户端可以在收到生产版本之前略微修改。因为差异不是太大,所以app的所有实例都是相同的源代码。为了实现不同的构建,我使用webpack和NormalModuleReplacementPlugin,

webpack.config

new webpack.NormalModuleReplacementPlugin(/(.*)ENV(.*)/, function(resource) {
      var componentName = resource.request.slice(resource.request.lastIndexOf('/') + 1, resource.request.indexOf('ENV'));
      if(componentName in buildConfig){
          resource.request = resource.request.replace(/ENV/, buildConfig[componentName]);
      }
      else {
          resource.request = resource.request.replace(/ENV/, '');
      }
  })

导入

import { RegisterComponent } from '../register/registerENV.component';

这可行,但也会导致编译器和ide错误,这些都很烦人。那么有没有人知道更好的方式来条件构建应用程序与交换组件的可能性,也没有加载不必要的代码到捆绑? 英语不是我的母语,请原谅我的任何错误。

0 个答案:

没有答案