Webpack 作为外部数据包的网页总帐矩阵

Webpack 作为外部数据包的网页总帐矩阵,webpack,gl-matrix,Webpack,Gl Matrix,我正在编写一个作为依赖项使用的库。我正在使用webpack输出src,希望从代码中排除gl矩阵部分,但将其列为依赖项 但事实证明,我只能将gl矩阵打包到库中,或者错误地说,gl矩阵中的对象(如vec3)在我的库中未定义。有什么想法吗 webpack.config.js module.exports = { //... output: { filename: 'minimal-gltf-loader.js', path: path.resolve(__dirname, 'b

我正在编写一个作为依赖项使用的库。我正在使用webpack输出src,希望从代码中排除gl矩阵部分,但将其列为依赖项

但事实证明,我只能将gl矩阵打包到库中,或者错误地说,gl矩阵中的对象(如
vec3
)在我的库中未定义。有什么想法吗

webpack.config.js

module.exports = {
  //...
  output: {
    filename: 'minimal-gltf-loader.js',
    path: path.resolve(__dirname, 'build'),
    library: 'MinimalGLTFLoader',
    libraryTarget: 'umd'
  },
  externals: {
    glMatrix: {
      commonjs: 'gl-matrix',
      commonjs2: 'gl-matrix',
      amd: 'gl-matrix'
    }
  }
}
minimal-gltf-loader.js(我的库)

应用程序

import {vec3, vec4, quat, mat4} from 'gl-matrix';
var mgl = require('../build/minimal-gltf-loader.js');
外部dict名称应与库的名称匹配

  externals: [
    {
      'gl-matrix': {
        root: 'window',
        commonjs: 'gl-matrix',
        commonjs2: 'gl-matrix',
        amd: 'gl-matrix'
      }
    }
  ]
外部dict名称应与库的名称匹配

  externals: [
    {
      'gl-matrix': {
        root: 'window',
        commonjs: 'gl-matrix',
        commonjs2: 'gl-matrix',
        amd: 'gl-matrix'
      }
    }
  ]
如果您通过脚本标记导入总账矩阵,它将是多个全局变量,如
vec3
mat4
,但不是
gl-matrix.vec3
gl-matrix.mat4
。 因此,您可以将它们设置为一个变量,然后将此变量用作webpack外部根配置

然后我发现
window
对象具有指向其自身的
window
attr,因此在根字段中使用“window”是一个更好的选择,它不再需要声明统一的变量

如果您通过脚本标记导入总账矩阵,它将是多个全局变量,如
vec3
mat4
,但不是
gl-matrix.vec3
gl-matrix.mat4
。 因此,您可以将它们设置为一个变量,然后将此变量用作webpack外部根配置


然后我发现
window
对象具有指向其自身的
window
attr,因此在根字段中使用“window”是更好的选择,它不再需要声明统一的变量。

您解决过这个问题吗?您解决过这个问题吗?
  externals: [
    {
      'gl-matrix': {
        root: 'window',
        commonjs: 'gl-matrix',
        commonjs2: 'gl-matrix',
        amd: 'gl-matrix'
      }
    }
  ]