gpt4 book ai didi

ExtJS — 组织 app/下的文件

转载 作者:行者123 更新时间:2023-12-02 19:23:49 24 4
gpt4 key购买 nike

我们有应用程序类XYZ,其中Y扩展了XZ 扩展了 Y

X 位于文件 X.js 中。Y 位于文件 Y.js 中。Z 位于文件 Application.js 中(即标准 ExtJS)。

我们还有一家大公司,拥有不同技能的开发人员,其中一些我们不希望直接公开 X.jsY.js

为了便于说明,假设这些文件是:

X.js:

Ext.define('MyApp.X', {
extend: 'Ext.app.Application',
name: 'X',
launch: function () {
// Cool stuff
}
// More cool stuff
});

Y.js:

Ext.define('MyApp.Y', {
extend: 'MyApp.X',
name: 'Y',
launch: function () {
// Call the parent X to set up
this.callParent(arguments);
// Cool stuff
}
// More cool stuff
});

Application.js:

Ext.define('MyApp.Z', {
extend: 'MyApp.Y',
name: 'Z',
launch: function () {
// Call the parent Y to set up
this.callParent(arguments);
}
});

app/ 目录如下所示:

app/
model/
store/
view/
X.js
Y.js
Application.js

该公司希望 X.jsY.js 不被直接看到,这样基本上其他开发人员只会看到 Application.js >:

app/
model/
store/
view/
Application.js

有几个问题:

1) 我可以将 X.jsY.js 放在其他地方吗?它们只需要远离直接可见即可,因此开发人员修改它们的机会较小。我想到了“app”,但我不确定这对 ExtJS 是否有“特殊含义”,而且 app/app/ 看起来有点傻:

app/
app/
X.js
Y.js
model/
store/
view/
Application.js

2) 对于包含从 Ext.app.Application 派生的类的文件夹,是否有推荐的名称?

3)我可以将它们放在“隐藏”文件夹中吗?以“.”开头的?

app/
.js/
X.js
Y.js
model/
store/
view/
Application.js

4)我需要在构建过程中添加任何配置信息吗?

最佳答案

首先。对您来说最好的解决方案可能是将这些东西移动到单独的包中 http://docs.sencha.com/cmd/6.5.3/guides/cmd_packages/cmd_packages.html正如所指出的那样。这样做可能需要一点时间。但因为我不太了解您的情况,所以让我谈谈您希望的方式。

1) Can I put X.js and Y.js somewhere else? They just need to be out of direct view, so there's less chance of developers modifying them.

你可以把它们放在任何你想要的地方。但我不明白其他人“修改”它们的意义。只需在这些文件上添加注释,表明他们无法编辑它们。而且因为您正在使用版本控制(对吗?),对它们的修改永远不会通过代码审查

2) Is there a recommended name for folders containing classes derived from Ext.app.Application?

我不知道这一点。您可以随意命名。但请参阅下面我关于类命名及其文件夹的注释。

3) Can I put them in a "hidden" folder, e.g. one starting with "."?

是的,你可以。但请记住,.folders 并不是真正隐藏的。默认情况下,它仅适用于 Linux 和 Mac。不适用于 Windows。如果我没记错的话,大多数 IDE 都会显示这些文件夹。这些文件是“隐藏”的,仅在文件资源管理器中实现。

4) Do I need to add any config information to the build process?

这要看情况。如果 app 文件夹下有所有内容,那么它应该可以开箱即用。否则,您可能需要对 app.json 文件进行编辑。

<小时/>

因此,我们假设您希望将它们放在不同的位置。甚至不在 app 文件夹中。我们假设名为“hidden”的文件夹直接位于项目根目录中。

MyApp/
.hidden/
app/
ext/
...

enter image description here

在此文件夹中,我们可以根据需要放置任何类或文件。

MyApp/app/Application.js 文件将如下所示:

Ext.define('MyApp.Application', {
extend: 'MyApp.Master',

});

要完成这项工作,请查看 MyApp/app.json 文件,它是任何 Sencha Cmd 项目的主要“设置”文件。我们需要添加有关 Cmd 的类路径的注释,以便能够找到这些文件:

"classpath": [
"app",
".hidden"
],

现在该项目应该可以正常构建了。如果您想做任何其他修改,请查看 app.js,它是您项目的主要入口点。

我使用 Ext 6 Classic 和 Cmd 6.5.1 对此进行了测试

命名约定:

指定类时,类名中的点还应定义文件位置。因此,当您拥有此类:MyApp.view.main.Main时,人们会期望在文件夹MyApp/app/view/main/Main.js中找到它,但它是没有必要,您可以将它们全部放在一个文件夹中,Cmd 会为您处理。但我希望当您开始将文件移动到一些“隐藏”文件夹中时,它就不再那么清晰了。

关于ExtJS — 组织 app/下的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50142700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com