个人博客如何用bootstrsop写后台源码

个人博客如何用bootstrsop写后台源码,第1张

到bootstrap官方网站下载,对于我们开发者来说,直接下载编译和压缩后的CSS、JavaScript文件,另外还包含字体文件,但是不包含文档和源码文件。打开解压包之后可以发现包含三个文件夹 css、fonts、js。这是最基本的Bootstrap组织形式:未压缩版的文件可以在任意web项目中直接使用。我们提供了压缩(bootstrap.min.*)与未压缩 (bootstrap.*)的CSS和JS文件。

因为bootstrap 4.0.0将放弃less转用sass来处理css,所以开发环境需要装SASS插件(必须先安装Ruby)。

安装Ruby,略。

安装SASS

gem install sass

安装Node.js,略。

安装grunt

npm install -g grunt

安装node-sass,大多数环境正常。安装不成功的话可以看后面的手动编译css部分。

npm install -g node-sass

grunt打包,加强制参数

grunt --force

在dist目录下编译出下列文件

|-- dist

|-- css

|-- bootstrap.css

|-- bootstrap.css.map

|-- bootstrap.min.css

|-- bootstrap.min.css.map

|-- js

|-- bootstrap.js

|-- bootstrap.min.js

|-- npm.js

|-- umd

|-- alert.js

|-- button.js

|-- carousel.js

|-- collapse.js

|-- dropdown.js

|-- modal.js

|-- popover.js

|-- scrollspy.js

|-- tab.js

|-- tooltip.js

|-- util.js

scsslint检查时可能会报错,可以将bundleExcc关掉,不用本地的

//You can choose to have your gems installed via bundler and if so, set this option to true to use the local gems.

scsslint: {

options: {

bundleExec: false,

config: 'scss/.scss-lint.yml',

reporterOutput: null

},

src: ['scss/*.scss', '!scss/_normalize.scss']

}

手动编译css,进入scss目录会看到大量的scss文件。主要关注下面几个

|-- scss

|-- ...

|-- bootstrap.scss

|-- bootstrap-flex.scss

|-- bootstrap-grid.scss

|-- bootstrap-reboot.scss

|-- ...

可以用sass命令直接生成相应的css文件和map文件

sass bootstrap.scss bootstrap.css

sass bootstrap-flex.scss bootstrap-flex.css

sass bootstrap-grid.scss bootstrap-grid.css

sass bootstrap-reboot.scss bootstrap-reboot.css

在我的认知里,是没有办法改变当前的classloder的,当前的 SpringApplication.run的时候,肯定是系统的classloder啊,就让我们来揭开迷雾吧。

参数mainClass就是HSFProviderApplication这个有main方法的入口类

参数args就是main方法的参数

参数的classLoader是我们自己创建的classloader

由于我们创建的classloder是系统classloder的子类,我们就可以做文章了,中间件的类用新创建的classloder来加载,业务的类用系统的classloder来加载。是不是非常巧妙啊。

如何保证不会执行多次加载逻辑,甚至死循环的呢?第一遍是系统的classloder,第二遍虽然看上去是我们自己创建的classloder,但我们我们创建的classloder是委托给系统的classloder的,所以其实还是相同的classloder。这就很简单了,PandoraBootstrap执行第一遍之后就改一个bool变量,第二遍读到这个变量改了就直接跳过了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7960381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存