所以我在科尔多瓦建立了一个Angular项目,我想知道是否有人知道如何在webpack中使用Cordova。
通常情况下,您会直接在index.html中引用cordova.js
,但我选择避免这种情况,并将其包含在捆绑包中,以便树摇动以及所有这些。不确定它是否合理,但我想我会问,因为谷歌已经让我失望了。
我引用了一个名为splashscreen的cordova插件,如下所示:
import * as splashscreen from 'cordova-plugin-splashscreen/www/splashscreen';
但是这个插件需要cordova / exec:
var exec = require('cordova/exec');
这是webpack失败的地方:
ERROR in ./~/cordova-plugin-splashscreen/www/splashscreen.js
Module not found: Error: Can't resolve 'cordova/exec' in './node_modules/cordova-plugin-splashscreen/www'
所以我尝试调整webpack.config.js
让webpack了解cordova的位置:
let cordova;
let cordovaExec;
if (context.opts.platforms[0] === 'ios') {
cordova = './platforms/ios/platform_www/cordova';
cordovaExec = 'cordova-ios/cordova-js-src/exec';
}
else {
cordova = './platforms/android/platform_www/cordova';
cordovaExec = 'cordova-android/cordova-js-src/exec';
}
然后是Webpack' ProvidePlugin
:
new ProvidePlugin({
'cordova': cordova,
'cordova/exec': cordovaExec
})
但错误仍然存在......
对于Webpack,我不是专家,所以有人知道解决方案,如果有的话吗?