ExtJS包工具包/共享资源



我有一个ExtJS包,其结构如下:

PackageA/
classic/
resrouces/
file.json
classic_resource.json
resources/
file.json
resource.json

当我在需要packageA的生产模式下构建应用程序时,在构建目录中我看到以下内容:

./build/production/MyApp/classic/resources/PackageA/file.json
./build/production/MyApp/classic/resources/PackageA/classic_resource.json
./build/production/MyApp/classic/resources/PackageA/resource.json

看起来共享包资源和特定于toolkit(classic(的文件都被复制到同一目录(./MyApp/classic/resources/PackageA/(中,如果同一文件已经存在,它将被覆盖(file.json(

然而,在我的例子中,classic/resources/file.json和resources/file.jsson有不同的内容,我需要将它们都保留在构建中。

我怎样才能做到这一点?

[编辑]

app.json

"output": {
"base": "${workspace.build.dir}/${build.environment}/${app.name}",
"page": "index.html",
"manifest": "${build.id}.json",
"js": "${build.id}/app.js",
"appCache": {
"enable": false
},
"resources": {
"path": "${build.id}/resources",
"shared": "resources"
},
"framework": {
"path": "${build.id}/framework.js",
"enable": true
}
},
"resources": [
{
"path": "resources",
"output": "shared"
},
{
"path": "${toolkit.name}/resources"
},
{
"path": "${build.id}/resources"
}
],

软件包.json

"output": "${package.dir}/build",
"resource": {
"paths": [
"${package.dir}/resources",
"${package.dir}/${toolkit.name}/resources"
]
},

之所以会发生这种情况,是因为您在工具箱的目录上创建了resources目录,而该目录不应该在那里。

新生成的包中的Readme.md

这个经典的特定目录可以包括以下任何目录(如果不是全部的话(:

  • 覆盖:此目录中的任何类都将自动被要求并包含在经典构建中。如果这些类中的任何一个定义了ExtJS覆盖(使用带有"覆盖"属性的Ext.define(,事实上,只有在指定了目标类的情况下,该重写才会包含在生成中中的"override"属性也包含在内。

  • sass:任何经典的特定样式规则都应该位于这个包中,遵循相同的结构作为包根目录中的目录(有关更多信息,请参阅package.json(。

  • src:这个包的经典特定类应该位于这个目录中。

如果您需要由工具包分隔的资源,请在包的根目录resources上执行。

相关内容

最新更新