代码之家  ›  专栏  ›  技术社区  ›  Bad Dobby

如何用webpack添加变量构造函数的原型函数

  •  1
  • Bad Dobby  · 技术社区  · 6 年前

    我一直在制作我自己的JS库,我正试图用webpack重新制作它。

    Date.prototype.fooFunc = function(e){
    // return something
    };
    String.prototype.barFunc = function(e) {
    // return something
    };
    
    
    var Library = function(e){
    var date = new Date();
    
    this result = date.fooFunc().barfunc();
    };
    
    

    变量构造函数原型函数的代码线也变得很长。所以我试着为原型函数创建一个单独的文件。

    解决了的

    if ( typeof Date.prototype.myFunc == undefined ) {
      var foo = new Date();
      return foo.something();
    };
    
    // no export
    
    

    module.exports = (env, options) => {
      const config = {
        target: 'web',
        entry: {
          'my-library': [
            './src/prototypes.js',
            './src/index.js'
          ],
        },
        output: {
          filename: '[name].min.js',
          library: 'myLibrary',
          libraryTarget: 'var',
          libraryExport: 'default',
          path: path.resolve(__dirname, 'dist')
        },
        optimization: {
          splitChunks: {
            cacheGroups: {
              commons: {
                test: /[\\/]node_modules[\\/]/,
                name: 'vendors',
                chunks: 'all'
              }
            }
          }
        },
      }
      return config;
    }
    
    1 回复  |  直到 4 年前
        1
  •  2
  •   brubs    6 年前

    您不需要导出原型方法。一旦将它们添加到对象中,它们就成为对象的组成部分,并且总是可以访问的。

    在扩展的对象之后以及在构建过程中的其他地方使用它们之前,您必须在原型扩展中包含该文件。