My require.js config:
require.config({
paths: {
css: "../libs/require-css/css",
},
map: {
"*": {
less: "../libs/require-less/less",
css: "../libs/require-css/css"
}
}
});
我试图包括一个css文件,有"css"在目录名
require([
"css!bootstrap/../css/bootstrap"
], function(
) {
被解释为libs/require-css/css/bootstrap.css
,因为css
在目录名中。我将如何得到需要处理路径中的css
文字
您需要更改您想使用的路径。
代替:
paths: {
css: "../libs/require-css/css",
},
使用这个
paths: {
require-css: "../libs/require-css/css",
},
然后引用它为
require([
"require-css!bootstrap/../css/bootstrap"
], function(
) {
路径只是作为文件较长位置的快捷方式或别名,因此您可以使用任何您喜欢的值。
路径中的任何短模块名都不应该存在于文件路径中。
例如:path : {css: 'path/to/require/css'},
和
require(['css!css/style.css'], function () {});
style.css文件路径中的'css'字符串将被替换为模块css的路径。这就等于
require(['css!path/to/require/css/style.css'], function () {});
为了避免这个问题,你可以像Denis那样用'require-css'替换css模块名
path : {require-css: 'path/to/require/css'};
require(['require-css!css/style.css'], function () {});
或将CSS目录名称' CSS '替换为'style'
path : {css: 'path/to/require/css'};
require(['css!style/style.css'], function () {});