什么意思“!”在包含模块的require.js中? 什么语法? 我在项目中包含了dinamic样式表,我发现了https://github.com/martinsb/require-css插件 它工作正常。
require(['css!css/sample.css'], function() {
alert('Stylesheet has been loaded');
});
为什么['css!css / sample.css']包含 css.js 和 css / sample.css ?
编辑:
我知道替代方案:
define(["controller", "RequireCSS","marionette"],
function (Controller, css, Marionette) {
css.load("default.css");
RequireCSS.js
define(function () {
return {
load: function (url) {
var link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.href = url;
document.getElementsByTagName("head")[0].appendChild(link);
}
}
});
答案 0 :(得分:4)
!
表示将使用css插件来解析sample.css。
语法为<plugin-name>!<file-path>
。
css.js文件包含css插件的代码。
css / sample.css是文件,应该使用该插件加载。
答案 1 :(得分:2)
默认情况下,requirejs仅支持下载和加载javascript文件。需要相应下载和解析的任何其他文件都是通过插件完成的。这些插件是单独的javascript文件,知道如何下载和解析受尊重的文件。
告诉requirejs任何特定文件需要由单独的插件而不是默认加载器来处理。它的插件在插件名称和文件路径之间附加!
。