执行sencha app build后能否保留项目文件结构且不合并代码?
Sencha Build 保留原文件结构的正确配置
要实现执行sencha app build production/development/testing时不合并代码、保留原项目文件结构,仅设置单个JS文件的bundle: false和关闭压缩器是不够的,需要调整以下核心配置:
1. 全局关闭资源合并
在app.json的builds节点中,针对你要构建的目标环境(如production/development/testing),添加bundle: false和concat: false配置,彻底关闭文件合并与拼接:
"builds": { "production": { "toolkit": "classic", "theme": "theme-triton", "output": { "base": "${workspace.build.dir}/${build.environment}/${app.name}", "page": "index.html", "js": "${build.id}/app.js", "css": "${build.id}/app.css" }, "loader": { "cache": "${build.id}" }, "bundle": false, "concat": false, "compressor": { "type": "none" } } }
注意:如果需要同时适配多个构建环境,要给每个环境的配置块都加上上述参数。
2. 给所有自定义JS资源单独设置bundle: false
确保app.json的js数组中,所有你的项目自定义JS文件(不只是app.js)都显式设置bundle: false,避免被框架自动合并:
"js": [ { "path": "${framework.dir}/build/ext-all-rtl-debug.js" }, { "path": "app.js", "bundle": false }, { "path": "view/Main.js", "bundle": false }, { "path": "store/Users.js", "bundle": false } // 其他自定义JS文件依次添加 ]
3. 验证构建结果
完成配置后,重新执行构建命令,比如:
sencha app build production
此时构建产物会保留原项目的文件结构,不会将所有JS合并为单个文件。
内容的提问来源于stack exchange,提问作者Sergey Bogdanov
相关产品推荐
相关产品推荐

