如何在aurelia中做特定平台?

时间:2018-05-04 06:31:10

标签: cordova aurelia

实际上,我是Aurelia的新手,我正在尝试在Cordova的帮助下构建移动应用程序,我想为不同的平台提供不同的内容,我正在使用ECMAScript for Aurelia, 我尝试了以下方式,但它无法正常工作



      if (window.cordova && window.cordova.platformId === 'browser') {
   console.log("something")
 }




1 个答案:

答案 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示例项目。