[置顶] 如何把Bootstrap和JQuery在不能上网环境中生效并用Maven来管理版本?

标签: WebjarSpringBootJQueryBootstrapMaven
658人阅读 评论(0) 收藏 举报
分类:

有的时候,我们的代码开发和部署环境有可能是上不了互联网。但是我们的代码中有引用了BootStrap或者JQuery等一些前端框架;一个办法就是把BootStrap或者JQuery的css或者JavaScript文件复制到Web项目中,并且放到一个相对路径,然后在我们的网页中加入引用,这是一个方法,但是如果以后BootStrap版本需要升级了,我们开发人员有需要新手工替换其css或者JavaScript文件;必须手工的管理器版本;那么有没有一个好的方法来进行管理呢?比如通过Maven的方式? 结果是肯定的,那就是找webjar。WebJars是将这些通用的Web前端资源打包成Java的Jar包,然后借助Maven工具对其管理,保证这些Web资源版本唯一性,升级也比较容易。关于webjars资源,有一个专门的网站http://www.webjars.org/,我们可以到这个网站上找到自己需要的资源,在自己的工程中添加入maven依赖,即可直接使用这些资源了。下面以SpringBoot项目为例子(SpringMVC项目也行),其具体步骤如下:

@添加Maven的依赖

 <dependency>
   <groupId>org.webjars</groupId>
   <artifactId>bootstrap</artifactId>
   <version>3.3.7</version>
</dependency>
<dependency>
   <groupId>org.webjars</groupId>
   <artifactId>jquery</artifactId>
   <version>3.1.1</version>
</dependency>

@新建一个WebConfig的类

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
 
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}
通过上面新建的一个WebConfig类,将对/webjars的访问重定向到/META-INF/resources/webjars/。

@在网页中,加入下面的链接

    <link rel="stylesheet" href="/webjars/bootstrap/3.3.7/css/bootstrap.min.css">
    <link rel="stylesheet" href="/webjars/bootstrap/3.3.7/css/bootstrap-theme.min.css">
    <link rel="stylesheet" href="/webjars/bootstrap/3.3.7/js/bootstrap.min.js">
    <link rel="stylesheet" href="/webjars/jquery/3.1.1/jquery.min.js">

@ 通过JQuery的例子进行测试

<!DOCTYPE HTML>
<html>
<head>
    <title>Getting Started: Spring Boot CLI + Javascript</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script src="/webjars/jquery/3.1.1/jquery.min.js" type="text/javascript"></script>
    <script src="/webjars/jquery/3.1.1/jquery.min.js" type="text/javascript"></script>
    <!-- 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
     -->
    <script type="text/javascript">
        $(document).ready(function() {
            $('p').animate({
                fontSize: '48px'
            }, "slow");
        });
    </script>
</head>
<body>
    <p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>

将会看到字体逐步变大的有JQuery渲染的动画效果。


2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:386028次
    • 积分:6350
    • 等级:
    • 排名:第4081名
    • 原创:228篇
    • 转载:0篇
    • 译文:5篇
    • 评论:157条
    博客专栏