在sencha touch 2中忽略了构建路径

时间:2012-10-11 16:48:32

标签: extjs sencha-touch-2

当我尝试构建我的包用于生产时,我在app.json中设置的自定义构建路径将被忽略。我在buildPath中得到了这个:

"buildPaths": {
        "testing":    "build/testing",
        "production": "build/project/assets/www",
        "package":    "build/project/assets/www",
        "native":     "build/native",
},

当我在命令行中运行此命令时:

sencha app build production

命令行继续并结束,没有错误。但是当我查看我的构建路径时,我只看到一个名为:production的文件夹。为什么忽略这些构建路径?我假设当我设置这些值时,我的应用程序将进入build / project / assets / www文件夹。有什么问题?

Sencha touch version: 2.1.0-rc1
Sencha CMD version: V3.0.0.190

3 个答案:

答案 0 :(得分:2)

buildPaths中的

app.json已被弃用(从Sencha Touch 2.1.0和Sencha Cmd v3.0.0.250开始不再有效)

您必须按./sencha/app/build-impl.xml

中所示配置路径

该文件由./build.xml文件导入,因此如果可能,应在此最终文件中进行更改。

我不确切知道如何设置构建路径,因为我需要的东西略有不同。

我希望将打包的文件复制到一个目录中,然后由Phonegap使用。

我更改为build-impl.xml文件的是-after-build声明,在其中写入copy语句,如下所示:

<target name="-after-build">
    <copy todir="../phonegap_project/www">
        <fileset dir="${workspace.build.dir}/package"/>
    </copy>
</target>

最终,如果您需要事先清空目标目录,可以添加

    <delete dir="../phonegap_project/www"/>

copy陈述之前。

然后,我使用sencha app build package命令构建。

参考:the sencha forum on this same issue

答案 1 :(得分:1)

大家好我正在使用Sencha cmd v5 +

对我而言,项目根目录下build.xml的 标记下的以下行就像魅力一样。

&#13;
&#13;
<target name="-after-build">
  <copy todir="../../gap/NAME_OF_MY_PROJECT_DIRECTORY/www">
    <fileset dir="${workspace.build.dir}/../package"/>
  </copy>
</target>
&#13;
&#13;
&#13;

抱歉我的英语不好,但我正在学习。

答案 2 :(得分:0)

我提出了一种解决方法。我尝试的第一件事是设置绝对路径,但这没有帮助(是的,我在Windows上)。

我需要更改路径的原因是:我在该文件夹中有一个eclipse(android / phonegap)项目。每次我建立sencha应用程序时,路径都是不正确的。所以我只是将eclipse项目中的loadurl改为:

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/production/index.html");
    }

而不是:

  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }

不是真正的解决方案,因为它仍然忽略了构建路径,但它不再是我的问题。