什么意思 ”!”在require.js中

时间:2016-11-12 07:09:09

标签: requirejs

什么意思“!”在包含模块的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);
        }
    }

});

2 个答案:

答案 0 :(得分:4)

!表示将使用css插件来解析sample.css。

语法为<plugin-name>!<file-path>

css.js文件包含css插件的代码。

css / sample.css是文件,应该使用该插件加载。

请参阅https://github.com/millermedeiros/requirejs-plugins

答案 1 :(得分:2)

默认情况下,requirejs仅支持下载和加载javascript文件。需要相应下载和解析的任何其他文件都是通过插件完成的。这些插件是单独的javascript文件,知道如何下载和解析受尊重的文件。

告诉requirejs任何特定文件需要由单独的插件而不是默认加载器来处理。它的插件在插件名称和文件路径之间附加!