JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 使用RequireJS模块化CSS样式表大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个这样的模板:
// template.tpl
<div>
    <input id="an_input"></input>
</div>

和一些CSS:

// stylesheet.css
input {
    BACkground: #000000;
}

最后这是一个瘦身模块:

define([
    'jquery','text!template.tpl','text!styleshet.css'
],function($,html,css){      
    var view = $('#sample_div');
    view.append($(html));

    var regex = /^([^\s\}])/gm;

    var styles = css.replace(regex,'#'+view.attr('id')+' $1');
    var style = $('<style>\n'+styles+'\n</style>');
    view.prepend(stylE);
});

实际发生的是模板正在加载并放入#sample_div.将CSS文件作为文本加载后不久,每个项目都以视图的ID为前缀.

一旦CSS加上前缀,就会创建样式标记并将其放在视图中.

现在,这很好用,好吧它不漂亮,也没有留下太大的误差.但是我写了这段代码来帮助演示我需要的东西.

我需要能够加载具有视图特定样式表的模板,其中工作表中的样式将仅应用于视图,并且仅覆盖全局样式.

上面这个例子的问题在于它是一个hack,一个针对CSS的正则表达式,以及一个新的样式标记的构建,这不是我想要的方式.我一直在研究javascript CSS解析器以获得更清晰的解决方案,然JSCSSP引起了我的注意,它将许多函数放入全局命名空间,而jquery.parsecss似乎只适用于文档中已有的样式.

有没有人对我想要实现的目标有任何经验?

解决方法

大多数加载器都有CSS插件,可以为您处理插入:

requireJS CSS插件
https://github.com/tyt2y3/requirejs-css-plugin

CurlJS CSS插件与主要发行版捆绑在一起:
https://github.com/cujojs/curl/tree/master/dist

大佬总结

以上是大佬教程为你收集整理的javascript – 使用RequireJS模块化CSS样式表全部内容,希望文章能够帮你解决javascript – 使用RequireJS模块化CSS样式表所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。