环保进口

时间:2018-11-07 06:00:53

标签: reactjs webpack es6-modules

嘿,我公司的任务是,我们要重建整个应用程序和网站,以应对10年前的MVC问题……

他们希望在我们重建的同时将一些组件从新站点导出到现有站点。我要寻找的是是否有一个网页插件或加载器的行为类似于Metro,因此我可以说从*“ package”导入*,如果我想对其进行些许自定义,则可以使用“ package.old.ts”和“ package”。 ts'如果package.old存在,那么它将导入,否则它将进行打包?

1 个答案:

答案 0 :(得分:0)

Webpack的内置resolve.extensions

如果“打包”是指一个模块(项目中的ts / tsx文件),则可以使用Webpack的resolve.extensions configuration option来解决。

Webpack将始终从左到右评估该数组,发现的第一个数组将获胜。因此,如果将数组定义为:['.old.ts', '.ts', /*others*/],它将尝试在 package.ts

之前匹配 package.old.ts

工作示例:

package.old.ts:

export const message = "Hello old";

package.ts:

export const message = "Hello new";

index.ts:

import {message} from './package';
console.log(message);

这将输出

  

你好,老。

如果删除或重命名package.old.ts,它将输出新的。 如果要更改优先级,只需在 webpack.config.js

中对数组重新排序