Webpack 访问google闭包库方法goog.require和goog.provide
我需要使用google closure library,因此我通过npm安装了此软件包,并在我的网页包(3.6.0版)配置文件中放置了下面(中)的一段代码:Webpack 访问google闭包库方法goog.require和goog.provide,webpack,google-closure-library,Webpack,Google Closure Library,我需要使用google closure library,因此我通过npm安装了此软件包,并在我的网页包(3.6.0版)配置文件中放置了下面(中)的一段代码: module: { rules: [ { test: /google-closure-library\/closure\/goog\/base/, use: [ 'imports-loader?this=>{goog:{}}&
module: {
rules: [
{
test: /google-closure-library\/closure\/goog\/base/,
use: [
'imports-loader?this=>{goog:{}}&goog=>this.goog',
'exports-loader?goog',
],
},
],
},
plugins: [
new webpack.ProvidePlugin({
goog: 'google-closure-library/closure/goog/base',
}),
]
如果我理解正确,现在我应该可以访问所有文件中的goog对象及其方法(由ProvidePlugin提供)。问题是需要goog.provide函数的文件返回错误“goog.provide不是函数”,console.log(goog)返回的对象没有任何原始goog的方法:
{goog: {…}, COMPILED: false}
COMPILED:false
goog:
DEBUG:true
DISALLOW_TEST_ONLY_CODE:false
ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING:false
ENABLE_DEBUG_LOADER:true
LOAD_MODULE_USING_EVAL:true
LOCALE:"en"
SEAL_MODULE_EXPORTS:{}
STRICT_MODE_COMPATIBLE:false
TRANSPILE:"detect"
TRANSPILER:"transpile.js"
TRUSTED_SITE:true
defineClass:{SEAL_CLASS_INSTANCES: {…}}
我让它(某种程度上)工作的唯一方法是从closurelibrary base.js文件中导出goog并将其导入到所需的文件中——但这种方法需要对所有文件进行大量更改
我错过了什么?如何访问goog方法
(我也使用VueJS,可能是问题吗?)