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

Javascript 如何在编译时动态导入js文件作为browserify的输入?,javascript,npm,browserify,Javascript,Npm,Browserify,在我们的项目结构中,我们有一个包含许多js文件的目录。我们以后可能会添加或删除这些文件中的任何一个。目前有一个main.js,我们在其中导入每个文件并创建一个映射(文件名作为键和类) 在文件中定义为值) 示例: Validator1.js class Validator1 { constructor() { this.payRegex = /^[0-9][0-9][0-9]\/[A-Z,0-9][A-Z,0-9]*$/; } validate(obj) {

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

示例:

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;
import Validator1 from 'validator1.js';

import NoopValidator from './noop.js';

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

validatorMap['DEFAULT'] = new NoopValidator;
在main.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;
import Validator1 from 'validator1.js';

import NoopValidator from './noop.js';

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

validatorMap['DEFAULT'] = new NoopValidator;
我们将此文件交给browserify创建一个
bundle.js
。现在,正如我所说,该文件夹中有许多文件,我们希望在编译时使用maven生成该文件

  • 除了创建一个maven插件,还有其他方法可以做到这一点吗
  • 我们正在使用EMAScript6

    • 没有内置的方法来完成此任务,但Browserify可以处理此任务。你可以自己写一个,但我认为可能已经做了你想要的,这取决于你想要结果的格式

      见:


      这正是我们需要的。谢谢