实际上,我是Aurelia的新手,我正在尝试在Cordova的帮助下构建移动应用程序,我想为不同的平台提供不同的内容,我正在使用ECMAScript for Aurelia, 我尝试了以下方式,但它无法正常工作
if (window.cordova && window.cordova.platformId === 'browser') {
console.log("something")
}

答案 0 :(得分:1)
通过正确配置的项目,您将为不同的平台配置不同的构建脚本。然后你可以让构建脚本为你设置这些变量。
这是example的工作原理:
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(或者package-scripts.js中定义,如果您使用的是nps):
"build": "webpack --mode development --env.cordova",
如果你正在使用aurelia-cli
,这些概念是相似的,但不幸的是,我不知道使用aurelia-cli的cordova示例项目。