tutorial ext examples español javascript extjs

javascript - español - extjs examples



Búsqueda automática de archivos de configuración de ExtJS (1)

Sin fuerza bruta o una llamada al backend, no puedes. Es una limitación del navegador.

La razón es la seguridad. Porque si pudiera, entonces uno podría, en teoría, usar JavaScript para escanear sitios web y obtener estructuras de directorios, probablemente viendo o incluso accediendo a archivos sin autorización.

La mejor forma, y ​​quizás la más eficiente, es escribir un método que escanee su directorio web en su backend y entregar una lista como la que mencionó en su idea de Configuración requiredConfigs como objeto JSON. Incluso algo como

<script type="text/javascript" source="configFiles.js"></script>

en su archivo index.html funcionará de manera confiable. Entonces tienes una lista de archivos para ser cargados. Luego, puede modificar su archivo bootstrap de manera que estos archivos se incluyan en su lista requerida, lo que se puede hacer con JavaScript puro, justo antes de que se inicie ExtJS.

Estoy creando la aplicación ExtJS 6.2 desde cero. Soy bastante nuevo en este marco, por lo que podría necesitar ayuda con los andamios de aplicación.

Se supone que la aplicación diseñada tiene ''complementos'' separados que (en el nivel de códigos / paquetes) estarán totalmente separados. También tenemos algún tipo de enrutador que registrará cierta información por nombre de vista (ruta / controlador / modelo / información adicional). Me gustaría que funcionara de manera similar al patrón de diseño del método de plantilla. Cuando agrego un nuevo plugin / módulo también agrego un archivo con un patrón de nombre específico, por ejemplo. MóduloACMEGlobalConf. Quiero que la aplicación ExtJS (o componente / clase, lo que sea) escanee de algún modo el árbol de clases completo para buscar archivos con dicho patrón de nombre, lea su contenido y luego los coloque en la configuración de mi enrutador / variable de espacio de nombres global.

Y la pregunta es: ¿cuál es la mejor manera de lograrlo?

ACTUALIZAR:

Estructura que quiero tener:

MyAppFolder ---Module1 .....MyConfigGlobal1.js ---Module2 .....MyConfigGlobal2.js --- ---Router.js -> I want this file to scan whole ''MyAppFolder'' tree, find files with *ConfigGlobal*.js pattern, read them and store in global namespace

MyConfigGlobal1.js

var config = { configProp1: ''test'', configProp2: ''test2''}

MyConfigGlobal2.js

var config = {configProp3: ''test3'', configProp4: ''test4''}

Router.js

var configsMap = EXT.SOMETHING.FIND.ME.CLASSES.FROM.TREE.WITH.NAME(''*MyConfigGlobal*'')

Y quiero que el enrutador cargue todo (puede estar en el nivel de clase, no en el nivel de archivo), ya sea una clase o cien. Y con esta solución no tengo que cambiar Router.js nunca, solo agregue otra clase de configuración en un nuevo módulo que estoy creando. Así que no hay necesidad de volver a probar los módulos anteriores.

Pero si estoy teniendo algo como esto en Router:

var requiredConfigs = [''MyGlobalConfig1.js'',''MyGlobalConfig2.js'']

Y estoy a punto de agregar un tercer archivo / clase a esta lista en el Router, lo que significa que la política está rota y tengo que volver a probar el módulo 1 y el módulo 2 porque el código común para ellos de alguna manera se modificó.