cordova - 如何在 aurelia 中做特定平台?
问题描述
实际上,我是 Aurelia 的新手,我正在尝试在 Cordova 的帮助下构建一个移动应用程序,我想要不同平台的不同内容,我正在为 Aurelia 使用 ECMAScript,我尝试了以下方式,但它不起作用
if (window.cordova && window.cordova.platformId === 'browser') {
console.log("something")
}
解决方案
使用正确配置的项目,您将为不同平台配置不同的构建脚本。然后,您可以简单地让构建脚本为您在某处设置这些变量。
这是一个如何工作的示例:
declare const IS_DEV_BUILD: boolean; // The value is supplied by Webpack during the build
declare const IS_CORDOVA: boolean; // The value is supplied by Webpack during the build
export async function configure(aurelia: Aurelia) {
if (IS_CORDOVA) {
const cordova = new CordovaEvents();
await cordova.waitForDeviceReady();
}
可以使用 webpack DefinePlugin 设置这些类型的变量:
new webpack.DefinePlugin({ IS_DEV_BUILD: JSON.stringify(isDevBuild), IS_CORDOVA: JSON.stringify(isCordova) }),
您可以将 env 参数从构建脚本传递给 cli,最好在 package.json 中定义(如果您使用的是 nps,则可以在 package-scripts.js 中定义):
"build": "webpack --mode development --env.cordova",
如果您正在使用,这些概念是相似的aurelia-cli
,但不幸的是,我不知道有任何使用 aurelia-cli 的科尔多瓦示例项目。
推荐阅读
- c# - 查找在 XML 中埋藏几层的元素节点
- kotlin - Kotlin 如何检查对象实例的大小
- python - 在拍卖中显示最高出价
- python - 将 Cog 对象从子目录 [SOLUTION FOUND] 导入 Discord 机器人
- angular - 在 ngFor 内的单选按钮上动态设置 ngModel
- c++ - How do I check the type of widget in GTK+3.0?
- javascript - 由 Discord.js 中的用户标签请求
- apache-curator - 关于 Apache Curator Leader 选举的问题
- python - 如何在数字 2500 前添加括号?
- python - 如何使用停用词删除标点符号和不相关的词(文本挖掘)