问题标签 [webjars]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 玩 2.3.x + Webjars + Requirejs 和传递依赖
问题:
- 有没有办法避免在 requirejs 中为 webjar 及其所有传递依赖项手动定义路径和垫片?(或者至少对于带有 requirejs.config() 调用的 webjars)?
- 是否有一个 Play 2.3 应用程序的简单示例(或种子),它使用 webjars 和 requirejs 以及具有传递依赖关系的 javascript 包?(不必在应用程序的 requirejs 配置块中使用 shim 手动配置每个传递依赖项?)
问题描述:
我正在迁移一个项目以播放 2.3,并且遇到了一些问题,以了解 webjars+requirejs 应该如何集成。一个简单的问题说明了我的困惑:
我想使用 angular-ui-calendar ( https://github.com/webjars/angular-ui-calendar ),所以我将以下内容添加到 build.sbt 中:
更新后,sbt 拉下 angular-ui-calendar web jar,以及在其 pom.xml 中指定的依赖项(jquery-ui 和 fullcalendar)。
但是,要使用其中任何一个,我必须向包含我的 requirejs 配置的 main.js 添加一堆路径和垫片......基本上:
如果所有这些手动填充都是必要的,那么在某些 webjar 中定义的 requirejs.config() 有什么意义?(例如:https ://github.com/webjars/angular-ui-bootstrap/blob/master/src/main/resources/webjars-requirejs.js )
java - 将 webjar 用作根资源
我有一个 Spring Boot 服务器,其中包含一个带有我的客户端代码的 webjar。我想在我的服务根目录中提供这个 webjar,而不是在 /webjar/name/version 位置。
我能够使用此配置重新映射:
这里还有两个问题: - 我在路径中对版本进行编码,我想避免这种情况 - webjar 中的资源在 /webjar/name/version 路径上仍然可用
有什么建议么?
jquery - 在 Play Framework WebJars 示例应用程序中使用 jQuery
我正在使用Typesafe Activator 1.2.10并尝试使用WebJars Sample for Play 2.x。我查看了应用程序模板并阅读了Bootstrap 依赖于 jQuery。因此,当您将 Bootstrap 指定为依赖项时,您也会获得 jQuery。在测试页面中。
index.scala.html
好的,我想我现在可以使用 jQuery - 让我们通过将以下最少代码添加到(inside )来尝试一下<div class="container">
:
不,Safari 抱怨说ReferenceError: Can't find variable: $
. 如果我在 Safari 的命令行中尝试相同的代码,它就可以工作——所以 jQuery 不会立即加载,但过了一段时间它就在那里。
我阅读了一些有关 RequireJS 用法的内容并尝试以下操作:
现在我从 Safari 收到以下错误:
最后我打开index.coffee
脚本app/assets
并在这里尝试:
终于胜利了!但是将我所有的 jQuery 代码写在一个外部文件中真的很讨厌。如何让 jQuery 在 HTML 模板中工作?如何封装代码,使其仅在 jQuery 加载 RequireJS 后执行?谢谢!
jquery - 不能使用WebJarAsset的“at”方法(玩2.3.4)
我不知道为什么我不能使用 WebJarAssetsat
方法。我的配置如下..
在我的 build.sbt 中:
在我的路线中:
然后在我的 main.scala.html 中,我尝试像这样添加 jquery ..:
但是此时该at
方法无法访问,我不知道为什么。我实际上使用的是 play 2.3.4 并且我刚刚创建了这个项目,所以不应该有任何冲突的库。
有人能帮我解决这个问题吗?
提前致谢
playframework-2.0 - 如何使用 SBT 运行 CSS Autoprefixer WebJar?
我正在开发一个 Play 框架项目,我将同时使用LESS和Autoprefixer。我的目标是让这些按顺序运行,这样当我编译我的代码时,它将运行 LESS,然后运行 autoprefixer。我正在尝试通过 SBT 进行设置,但我发现很少有文档可以帮助我。
有两个潜在的 Autoprefixer 项目可供使用 - 一个是 WebJar,另一个是sbt-autoprefixer。包含 WebJar 不会破坏构建,但它也不会做任何前缀。另一个库的版本与我的代码不兼容,我更愿意使用 WebJar,而不是在我的代码中包含 git: URI 作为依赖项。
为了让 Autoprefixer 的 WebJar 版本正常工作,我需要做什么?WebJar 上没有我可以找到的文档。
spring - Spring Boot中的Webjars - Javascript未加载
我正在尝试使用 Webjar 将 jQuery 添加到我的启动应用程序中。我从本教程中获得了灵感:http: //spring.io/blog/2014/01/03/utilizing-webjars-in-spring-boot
在我的 pom.xml 中,我添加了:
在我的 html 文件中(使用 ThymeLeaf 作为我的模板引擎 - 不确定这是否重要)我有以下内容:
文件不加载。我已经尝试过 src="webjars...." 和 src="/webjars..."。
我可以在我的项目中列出的 Maven 依赖项中看到 jar。当我探索这个 jar 时,我可以看到 META-INF/resources/webjars/jquery/2.1.1/jquery.min.js。根据我对 Boot 寻找资源的理解,我认为它应该找到这个。
有人看到这种行为吗?关于如何解决它的任何提示?
apache - 使用 Webjars 时的 Apache / Tomcat / mod_jk ...有可能吗?
我有一个 Java Web 应用程序,它使用 Webjars(客户端 Web 库(例如 jQuery 和 Bootstrap)打包到 JAR(Java 存档)文件中,请参阅http://www.webjars.org/)。如果我只使用 Tomcat,它工作正常。
但我想在 Tomcat(使用 mod_jk)前面放置一个 Apache 服务器来提供静态内容。我如何配置 Apache 来做到这一点?静态内容放入 jars 文件中!
谢谢。
jakarta-ee - IBM WebSphere Application Server 上 WebJars 的静态资源不可见
我正在使用部署到 IBM WebSphere Application Server 的 JAX-RS 和 AngularJS 编写一个简单的报告 Web 应用程序。因为它真的非常简单,所以我尽量保持尽可能少的依赖关系,所以我没有使用任何花哨的服务器端框架。
为了提供静态资源,我编写了这个控制器。我把它们放在src/main/resources
文件夹里。
到目前为止,一切都很好。
当我使用几个 JavaScript 库(jQuery、Underscore.js、AngularJS)时,我想使用WebJars。根据webjars.org 上的文档:
对于任何与 Servlet 3 兼容的容器,目录中的 WebJars 都会
WEB-INF/lib
自动作为静态资源使用。这是因为META-INF/resources
JAR 中目录中的任何内容WEB-INF/lib
都会自动公开为静态资源。
当我将相应的 WebJars 放入我pom.xml
的 . 这是我到目前为止发现的:
- 当然,WebJars 存在于生成的
.war
包中,在WEB-INF/lib
文件夹中。 ClassLoader
在我的serveResource
方法声明中使用的所有 WebJars 都在其类路径中。- 的
ClassLoader
实现是com.ibm.ws.classloader.CompoundClassLoader
. META-INF/resources
文件夹中 WebJars 中的任何资源对ClassLoader
. 没有任何。
如何让类加载器看到 WebJars 中的资源?
java - webjars -> HTTP 406
我正在使用 Spring Boot、thymeleaf 和 webjars 创建一个非常基本的小型 Web 应用程序。
我想要什么:使用 webjars 包含 jquery 和 bootstrap
我做了什么:我将依赖项包含在我的 pom.xml 中
我将 jquery 添加到我的模板 index.html 中:
问题:虽然 thymeleaf 罐子在我的 /lib 目录中,而且对我来说一切看起来都是正确的,但它不起作用。浏览器中显示的 HTML 文件显示了脚本行,但尝试直接获取 jquery 库(在 Chrome 浏览器中单击源)最终会出现 HTTP 406 错误,而路径显示为http://localhost:8080/webjars/jquery/2.1.1/jquery.min.js
:
playframework - Sass 包含和 Webjars
我正在将一个 Play 项目迁移到 2.3,并使用 ShaggyYeti 的sbt-sass 插件(对play-sass 插件的更改)编译了我的 SCSS 文件。我将所有内容捆绑到一个缩小的 css 中,该 css 被放置在/assets/stylesheets/main.min.css
. 一切正常,直到我开始使用 webjars 提取前端库。
webjars 本身可以正常工作,我可以将它们中的 scss 捆绑到我的主 css 中,但是从引用其他资源的 webjars 中捆绑 scss 存在问题。例如font-awesome将lib/font-awesome
与字体一起下载到/assets/lib/font-awesome/fonts/fontawesome-webfont.eot
. 问题是 font-awesome scss 引用了它../fonts/fontawesome-webfont.eot
,编译后将是/assets/fonts/fontawesome-webfont.eot
.
我是否在这里遗漏了一些东西,或者这些是由于这个新系统到位时间很短而尚未解决的怪癖?如果是后者,您认为这里的正确解决方案是什么?
- 我应该使用插件来移动/复制预期文件夹中的引用文件吗?或者
- SCSS 编译器/插件是否应该重写 webjar 下载文件夹的路径?或者
- 我应该将 font-awesome 缩小的 css 包含为单独的链接吗?
我倾向于相信(2)将是正确的解决方案,因为 webjar 中的 scss 显然是在引用相对于 scss 的资源。这应该相对于目标 css 重写。