如何使用Sencha SDK for ExtJS?

Gun*_*hah 7 extjs build extjs4 extjs4.1

我正在使用ExtJS 4.1,我正在GlassFish V3.1上部署我的简单HelloExt程序.

我正在尝试使用Sencha SDK创建一个版本.

我使用了以下两个命令......

C:\>sencha create jsb -a http://localhost:8080/HelloExt/index.jsp -p appname.jsb
3 -v


C:\>sencha build -p appname.jsb3 -v -d .
Run Code Online (Sandbox Code Playgroud)

根据文档,它将创建app-all.js文件.但它在哪里创建文件?

我怎么知道IF构建是否成功创建?

生成的JS文件在哪里?

我做了一个搜索,但我找不到像app-all.js这样的东西.

欲获得更多信息:

我正在使用JDK 1.6.0_12和GlassFish V3.1应用程序服务器.

以下是问题的编辑内容....

当我尝试使用sencha SDK时,它会在类路径中生成一个.dpf文件..dpf文件的内容如下...

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
  <context-root>/HelloExt</context-root>
  <class-loader delegate="true"/>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java code.</description>
    </property>
  </jsp-config>
</glassfish-web-app>
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么在这里生成.DPF文件?为什么它不生成app-all.js文件?

Aci*_*ier 6

尝试从app根目录中运行命令,然后使用相对路径:

0)打开cmd窗口

1)在cmd窗口中运行:"cd C:\ [webserver_webapp_root]\[app_name]"

换句话说,将cmd目录更改为app root.用正确的路径填写上面括号内的文字.

2)在cmd窗口中运行:"sencha create jsb -a index.html -p app.jsb3 -v"

应该在应用程序的根目录(C:\ [webserver_webapp_root]\[app_name])中创建app.jsb3.打开它并确保它包含所有应用程序类,它应该如下所示:

{
    "projectName": "Project Name",
    "licenseText": "Copyright(c) 2012 Company Name",
    "builds": [
        {
            "name": "All Classes",
            "target": "all-classes.js",
            "options": {
                "debug": true
            },
            "files": [
                {
                    "clsName": "YourApp.view.Viewport",
                    "name": "Viewport.js",
                    "path": "app/view/"
                },
                // plus ALOT more classes...
            ]
        },
        {
            "name": "Application - Production",
            "target": "app-all.js",
            "compress": true,
            "files": [
                {
                    "path": "",
                    "name": "all-classes.js"
                },
                {
                    "path": "",
                    "name": "app.js"
                }
            ]
        }
    ],
    "resources": []
}
Run Code Online (Sandbox Code Playgroud)

如果一切正常,那么你可以进入下一步,如果没有那么你的app目录结构有问题,你需要根据Sencha推荐的ExtJS应用程序架构来修复它.

您还可以使用任何错误消息来帮助识别问题.

3)更新app.jsb3顶部的占位符("项目名称"等)

4)在cmd窗口中运行:"sencha build -p app.jsb3 -d.-v"

app-all.js文件也应该在应用程序的根目录中创建.如果cmd窗口在显示"Done Building!"之前没有给出任何错误.然后你们都完成了.您现在可以将index.html脚本链接更改为指向app-all.js而不是app.js.

如果有错误,那么你必须修复它们并再次运行它.

您可以尝试的其他事项:

在回复您的上一条评论时,您的-p开关参数应该jsb3不是文件jsb.

在尝试使用SDK工具之前,请确保Web服务器正在运行并且您的应用程序运行时没有任何错误.

然后试试这些:

C:\Projects\HelloExt\build\web>sencha create jsb -a index.jsp -p HelloExt.jsb3 -v

C:\Projects\HelloExt>sencha create jsb -a index.jsp -p HelloExt.jsb3 -v

C:\>sencha create jsb -a [actual IP address]:8080/HelloExt/index.jsp -p HelloExt.jsb3 -v
Run Code Online (Sandbox Code Playgroud)

填写括号所在的实际IP地址(不是localhost).

这应该产生上面#2中显示的jsb3文件,然后你可以继续前面的步骤#3.