Angular-cli构建文件夹结构
默认的angular-cli构建生成具有非常扁平结构的dist文件夹 – assets文件夹和js,html文件.有没有办法创造fe.脚本文件夹并在构建过程中将所有js文件放入其中?
解决方法
CLI尚未完全支持这一点,但它确实提供了一些有用的工具来帮助您完成大部分工作.我需要这个来部署我的Angular应用程序和WAR,同时尽量减少通过servlet-mappings添加的复杂程度.这个问题没有具体提到J2EE,但我认为这个解决方案的原则可以在各种环境中共享.
相关的ng构建参数: > –deploy-url:将应用于资源的路径映射.这可能与Angular-CLI目前接近您正在寻找的内容一样接近. 对你来说最有趣的可能是–deploy-url.例如,如果您将部署URL设置为/ dist /,则构建的应用程序中对JS文件的引用将以/ dist /为前缀. 对这种方法有两大看法: > –deploy-url不会更改JS文件的输出路径.它只更改对JS文件的引用.文件本身仍将放在根构建目录中.您必须在构建过程中添加一个步骤来手动修复此问题. 作为参考,这是我生成的WAR目录结构: app/ dist/ <-- Deployed Angular application assets/ (images,CSS,etc) *.js (other assets pulled into the root path,e.g. *.(svg|eot|woff|woff2|ttf) from Font Awesome) index.html WEB-INF/ ... index.jsp 以下是我为生成此结构所采取的步骤: > ng build -pr false –prod –output-path build / node-prod –base-href / angular-app / –deploy-url / angular-app / dist /. 在生成的webapp中,http:// localhost / angular-app /是我的应用程序的唯一有效端点.此端点指向index.jsp,其中包含index.html的内容,该内容通过< script src =“/ angular-app / dist /< some-file> .js”>< /加载相关的JS脚本>标签. 当需要其他资产时,例如徽标图像,页面向资产/<文件名>发出请求,通过Tuckey将服务器端重写为dist / assets /< file-name>,透明地解析到所请求的资产. 这个解决方案的好处是我们能够在根上下文中部署Angular应用程序,而不必将构建的所有内容都放在根WAR路径中.这是特别好的,因为我们不希望在可以避免的情况下添加全局servlet映射(例如,* .js). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |