Dar*_*ron 7 shim cordova webpack angular
所以我正在Cordova建立一个Angular项目,我想知道是否有人知道如何在webpack中使用Cordova.
通常情况下,您cordova.js直接在index.html中引用,但我选择避免这种情况,并将其包含在捆绑包中,以便树摇动以及所有这些.不确定它是否合理,但我想我会问,因为谷歌已经失败了我.
我正在引用一个名为splashscreen的cordova插件,如下所示:
import * as splashscreen from 'cordova-plugin-splashscreen/www/splashscreen';
Run Code Online (Sandbox Code Playgroud)
但是这个插件需要cordova/exec:
var exec = require('cordova/exec');
Run Code Online (Sandbox Code Playgroud)
这是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'
Run Code Online (Sandbox Code Playgroud)
所以我尝试调整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';
}
Run Code Online (Sandbox Code Playgroud)
然后是Webpack的ProvidePlugin:
new ProvidePlugin({
'cordova': cordova,
'cordova/exec': cordovaExec
})
Run Code Online (Sandbox Code Playgroud)
但错误仍然存在......
在Webpack方面我不是专家,所以有人知道解决方案,如果有的话?
| 归档时间: |
|
| 查看次数: |
357 次 |
| 最近记录: |