使用 Maven 的 JavaScript 缩小工作流程

2024-01-01

我想知道是否有任何“最佳实践”可以将“现代 JavaScript 构建工作流程”集成到生成 WAR 工件的 Maven 构建中。

我发现了几个处理串联和缩小的 Maven 插件:

  • WRO4J: https://code.google.com/p/wro4j/wiki/MavenPlugin https://code.google.com/p/wro4j/wiki/MavenPlugin
  • 缩小 Maven 插件:https://github.com/samaxes/minify-maven-plugin https://github.com/samaxes/minify-maven-plugin
  • YUI: http://alchim.sourceforge.net/yuicompressor-maven-plugin/ http://alchim.sourceforge.net/yuicompressor-maven-plugin/

然而,我仍然不知道它们如何融入完整的构建工作流程,因为我认为必须能够打开和关闭连接/缩小:

对于开发,我想构建一个不包含串联/缩小资源的 WAR,以便我可以方便地进行调试。对于生产构建,我想生成一个包含串联/缩小资源的 WAR。

此外,对于生产构建,我必须“重写”html 中的脚本 URL,以指向脚本的串联/缩小版本。

在 JavaScript 世界中,我将使用 Grunt 与不同的 grunt 任务(uglify、usemin)来实现上述工作流程。如何在 Maven 构建中实现相同的目标?


既然您提到了 Grunt,您是否考虑过直接从 Maven 构建中调用 Grunt 任务?这不是一个完美的解决方案,但它为您提供了更多选择,而无需依赖 Maven 插件。http://addyosmani.com/blog/making-maven-grunt/ http://addyosmani.com/blog/making-maven-grunt/

另外,这个SO主题:Javascript Web 应用程序和 Java 服务器,全部在 Maven 中构建还是使用 Grunt 作为 Web 应用程序? https://stackoverflow.com/q/15406977/1024571

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Maven 的 JavaScript 缩小工作流程 的相关文章

  • 将文本字段限制为仅包含数字的最佳方法?

    I m using the following Javascript to restrict a text field on my website to only accept numerical input and no other le
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • 用于缓存的 Servlet 过滤器

    我正在创建一个用于缓存的 servlet 过滤器 这个想法是将响应主体缓存到memcached 响应正文由以下方式生成 结果是一个字符串 response getWriter print result 我的问题是 由于响应正文将不加修改地放
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 在循环中调用 setTimeout 未按预期工作

    下面的 JavaScript 应该 在我看来 以 0 5 秒的间隔播放一系列音符 但它会将它们全部作为一个同时的和弦来演奏 知道如何修复它吗 function playRecording if notes length gt 0 for v
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • Javascript等待/异步执行顺序

    所以我试图把我的头脑集中在 Promise await async 上 我不明白为什么当 go 执行时 带有 finished 的警报会紧随 console log coffee 之后 当所有函数都使用等待 承诺时 为什么它只等待 getC
  • 如何将项目插入到特定索引处的空数组中?

    我想将一个项目插入到空数组的指定索引中 我看到有 Array prototype splice 方法 但是 如果我在空数组上使用 splice 它只会添加项目来结束数组 如下所示 var a a splice 3 0 item 3 cons
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 如何处理 StaleElementReferenceException

    我正在为鼠标悬停工作 我想通过使用 for 循环单击每个链接来测试所有链接的工作条件 在我的程序中 迭代进行一次 而对于下一次迭代 它不起作用并显示 StaleElementReferenceException 如果需要 请修改代码 pub
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob
  • 如果 jquery 验证激活,如何在单选按钮中放置红色边框[重复]

    这个问题在这里已经有答案了 我的问题是 如果 jquery 验证像示例图片中那样激活 我无法使单选按钮具有红色边框 任何人都可以帮我解决这个问题吗 http i38 photobucket com albums e149 eloginko
  • 根据文本内容从 jquery 对象中过滤元素

    我正在尝试使用contains带有 this 关键字 但它给出了错误 JS function var check ul find li filter function return this contains two css color r
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • ‘state’未定义 no-undef

    我使用教程来学习 React 但我很快就陷入困境 在教程中 他们使用以下代码 import React Component from react class Counter extends Component state count 0 r
  • highchart堆积柱每个类别的总数据

    我想获取每个类别的总数据 这point stackTotal只给出活动数据的总数 从我粘贴的代码示例中 我想知道每种水果的总消耗量 因此 即使我单击右上角图例上的乔的名字 这使得堆叠图表上的所有乔信息都处于非活动状态 我仍然可以知道约翰 简
  • VS Code 扩展 - 获取完整路径

    我正在为 VS Code 编写一个插件 我需要知道调用扩展的文件的路径 无论是从编辑器上下文菜单或资源管理器上下文菜单调用还是用户只需键入扩展命令 function activate context get full path of the
  • try-with-resources 中出现死代码警告,但翻译后的 try-catch-finally 中没有出现死代码警告

    以下代码使用try 有资源 https docs oracle com javase specs jls se7 html jls 14 html jls 14 20 3Java 8 中引入的构造 偶尔抛出 方法被声明为抛出一个偶尔的异常
  • 如何使用通配符模拟泛型方法的行为

    我正在使用 EasyMock 3 2 我想基于 Spring Security 为我的部分安全系统编写一个测试 我想嘲笑Authentication http docs spring io autorepo docs spring secu

随机推荐

  • 指定不同的公共路径

    我的 Laravel 应用程序在私有文件夹中运行 我需要告诉 Laravel 公共路径是不同的 今天我将 Laravel 应用程序从 4 2 升级到 5 0 但我找不到在哪里指定公共路径因为 paths php 文件在 Laravel 5
  • Python create_task 在运行事件循环中不起作用

    我有一段简单的代码让我发疯了一段时间 我已经发帖了this https stackoverflow com questions 56350166 python event loop does not work properly with s
  • 使用javascript和jquery,用数组结构填充相关的选择框

    使用答案这个问题 https stackoverflow com questions 57522 javascript array with a mix of literals and arrays 我已经能够根据另一个选择框的选择来填充一
  • IntelliJ 下划线反斜杠

    我使用反斜杠作为我正在处理的序列化格式的转义字符 我将它作为常量 但 IntelliJ 强调它并以红色突出显示 悬停时 它不会给出错误消息或任何有关其不喜欢它的原因的信息 这是什么原因以及如何解决 IntelliJ 比我聪明 意识到我在正则
  • 将 python 列表转换为字典

    我正在尝试将我的列表转换为 python 中的字典 我有清单l l a b c d 我想将它转换为字典 d d a d b d c d d 我正在尝试 for i in range 0 len l d i 0 l i 但这行不通 谢谢 保持
  • 即使使用 -Ofast,Swift 的字典也很慢

    我正在使用本质上实现缓存Dictionary在斯威夫特 表现远远低于我的预期 我读过其他一些问题 例如这是关于数组排序的 https stackoverflow com questions 24101718 swift performanc
  • Backbonejs 与小胡子模板。

    我想使用带有小胡子模板的backbonejs 来做一个简单的应用程序 你能给我一个示例程序吗 新节点文件 var Person Backbone Model extend defaults name Guest Worker var Per
  • 为什么 Applicative 应该是 Monad 的超类?

    Given Applicative m Monad m gt mf m a gt b ma m a 这似乎被认为是一项法律 mf lt gt ma do f lt mf a lt ma return f a 或者更简洁地说 lt gt ap
  • 获取鼠标相对于饼图的位置(方程)

    我已经从一组数据创建了一个画布饼图 我现在尝试定位相对于饼图的鼠标位置 以检测正在悬停的数据部分 我快到了 但我被一个方程式困住了 我的逻辑运行良好 所以我认为这更像是一个数学问题 但会看看其他人对我的方法的看法 这是我的饼图和我正在使用的
  • Maven `pom.xml` 中 标签之间的区别[重复]

    这个问题在这里已经有答案了 配置我的时pom xml 我必须配置一个插件 我发现的是
  • 为什么这个特征中需要“Sized”界限?

    我有一个具有两个相关功能的特征 trait WithConstructor Sized fn new with param param usize gt Self fn new gt Self Self new with param 0 为
  • laravel重置密码不重置密码

    我正在使用 laravel 6 我第一次尝试为我的 laravel 项目实现忘记密码 我自定义了登录 忘记密码 重置密码页面的默认设计 我已经集成了mailtrap用于发送电子邮件 我已经成功地实现了这样的流程 单击忘记密码链接 获取用户输
  • 无论操作系统如何,在 Java 中执行计划任务的最佳解决方案是什么?

    我想在我的 Java 桌面应用程序上生成警报 设置特定日期 时间的警报 可以是 5 分钟或 5 个月内 我需要能够在触发警报时创建 SWT 应用程序 我需要它能够在任何操作系统上工作 软件用户可能使用 Windows 其中 90 其余使用
  • CVXPY 在二次规划优化问题上返回不可行/不准确

    我正在尝试使用 CVXPY 来解决非负最小二乘问题 附加约束是解向量中的条目之和必须等于 1 然而 当我使用 SCS 求解器在这个简单的二次程序上运行 CVXPY 时 我让求解器运行最多 100000 次迭代 最后遇到错误 指出二次程序不可
  • 为什么运行 Rspec 时会出现未定义方法“有”错误?

    我最近升级到 Rails 4 除了 Rspec 测试之外 一切正常 require spec helper describe Invoice do before each do user FactoryGirl create activat
  • Laravel 查询生成器 - sum() 方法问题

    我是 Laravel 的新手 查询生成器有一些问题 我想构建的查询是这样的 SELECT SUM transactions amount FROM transactions JOIN categories ON transactions c
  • 如何在 remix run 中从实用程序函数重定向

    我正在使用 Remix run 我想从 auth 实用程序函数重定向到我的登录页面 但它不起作用 这是与我的身份验证实用程序方法类似的功能 import redirect from remix async function authenti
  • 在 for 循环中使用“else”的 Pythonic 方法[重复]

    这个问题在这里已经有答案了 我几乎没有注意到Python程序在for循环中使用了else 我最近使用它在退出时根据循环变量条件执行操作 因为它在范围内 在 for 循环中使用 else 的 Python 方式是什么 有什么值得注意的用例吗
  • Jquery找到所有以字符串开头的id?

    只是想知道如何在整个页面中搜索以 content 开头的所有 id 以及如何仅在名为 extra content 的命名 div 中找到它们 一旦我有了所有的ID 我想隐藏它们 下面是我想找到的示例 div div lt Find div
  • 使用 Maven 的 JavaScript 缩小工作流程

    我想知道是否有任何 最佳实践 可以将 现代 JavaScript 构建工作流程 集成到生成 WAR 工件的 Maven 构建中 我发现了几个处理串联和缩小的 Maven 插件 WRO4J https code google com p wr