Build 如何为ExtJS使用Sencha SDK?
我正在使用ExtJS4.1,并在GlassFish V3.1上部署我的简单HelloText程序 我正在尝试从SenchaSDK创建一个构建 我使用了以下两个命令Build 如何为ExtJS使用Sencha SDK?,build,extjs4,extjs,extjs4.1,Build,Extjs4,Extjs,Extjs4.1,我正在使用ExtJS4.1,并在GlassFish V3.1上部署我的简单HelloText程序 我正在尝试从SenchaSDK创建一个构建 我使用了以下两个命令 C:\>sencha create jsb -a http://localhost:8080/HelloExt/index.jsp -p appname.jsb 3 -v C:\>sencha build -p appname.jsb3 -v -d . 根据文档,它将创建app-all.js文件。但是它在哪里创建文件
C:\>sencha create jsb -a http://localhost:8080/HelloExt/index.jsp -p appname.jsb
3 -v
C:\>sencha build -p appname.jsb3 -v -d .
根据文档,它将创建app-all.js文件。但是它在哪里创建文件呢
我如何知道构建是否成功创建
生成的JS文件在哪里
我进行了搜索,但找不到类似app-all.js的内容
有关更多信息:
我使用的是JDK1.6.012和GlassFish V3.1应用服务器
以下是问题的编辑内容……
当我尝试使用SenchaSDK时,它会在类路径中生成一个.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>
/你好
保留生成的servlet类的java代码的副本。
有人能告诉我为什么会在这里生成.DPF文件吗?为什么不生成app-all.js文件?尝试从app根目录中运行该命令,然后使用相对路径: 0)打开命令窗口 1)在cmd窗口中运行:“cd C:\[webserver\u webapp\u root]\[app\u name]” 换句话说,将cmd目录更改为app root。用正确的路径填写上面括号内的文本 2)在cmd窗口中运行:“sencha create jsb-a index.html-p app.jsb3-v” app.jsb3应该在应用程序的根目录(C:\[webserver\u webapp\u root]\[app\u name])中创建。打开它并确保它包含所有应用程序类,它应该如下所示:
{
"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": []
}
如果一切正常,那么您可以进入下一步,如果没有,那么您的应用程序目录结构有问题,您需要根据进行修复
您还可以使用任何错误消息来帮助识别问题
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
在括号中填写您的实际IP地址(不是localhost
)
这将生成如上面第2步所示的jsb3文件,然后您可以继续执行上面第3步。亲爱的Geronimo,感谢您的回复。。正如你所说,我测试了它。但是它不起作用。我使用了以下命令。。C:\Projects\helloText>sencha create jsb-a index.jsp-p app.jsb3-v。。之后我使用了..C:\Projects\HelloExt>sencha create jsb-a web/index.jsp-p app.jsb3-v..同样的情况。没有错误..但JS没有生成..之后我提供了部署路径..C:\Projects\HelloExt>sencha create jsb-a但它也没有wokring..@gunjansha您的
C:\Projects
似乎是一个奇怪的webapp根目录。我对GlassFish不太熟悉,我想你可以将它配置为在任何地方运行你的Web应用程序,但我确信这不是默认设置。您的GlassFish web服务器是从c:\Projects
运行应用程序,还是从其他位置提供应用程序?另外,您确定SDK工具安装正确吗?您可以测试一下,若您只需打开一个命令提示符并键入“sencha”-当您这样做时,您应该会看到一堆命令。@GunjanShah我一直在四处寻找,如果打开glassfish/domains/domains/domain1/config/domain.xml
,您应该能够在glassfish中找到webapp的路径,您的helloText应用程序的location
属性是什么?亲爱的Geronimo,下面是domain.xml文件的类路径………location=“file:/C:/Projects/helloText/build/web/”我在命令提示符中选中了sencha命令。。在初审中它说。。找不到command../command/sencha.js。。。但在第二次试验中,效果良好。。在第二次试验中,它给出了Sencha命令的使用模式。因此,我认为Sench SDK安装正确