如何在编译时动态导入js文件作为browserify的输入?

How to import js files dynamically at compile time as input for browserify?

在我们的项目结构中,我们有一个包含许多 js 文件的目录。我们可能会在以后添加或删除这些文件中的任何一个。目前有一个main.js,我们在其中导入每个文件并创建一个地图(文件名作为键,class 在文件中定义为值)。

示例:

Validator1.js

class Validator1 {
    constructor() {
        this.payRegex = /^[0-9][0-9][0-9]\/[A-Z,0-9][A-Z,0-9]*$/;
    }
    validate(obj) {
        //do something
    }
}

export default Validator1;

在main.js

import Validator1 from 'validator1.js';

import NoopValidator from './noop.js';

var validatorMap = {};
validatorMap['validator1'] = new Validator1;

validatorMap['DEFAULT'] = new NoopValidator;

我们将此文件交给 browserify 以创建 bundle.js。正如我所说,该文件夹中有许多文件,我们希望在编译时使用 maven 生成该文件。

没有内置的方法来执行此操作,但是 Browserify Transform could handle the task. You could write one yourself, but I think Bulkify 可能已经完成了您想要的操作,具体取决于您想要的结果格式。

参见: