npm的较less的库 – 如何定义一个导入的子目录
我试图configuration使用npm的less库的ServiceStack打包器。
我有很多子目录,我存储较less的文件。
我有一个问题,在更less的文件不会触发编译。 他们这样做,如果我直接在我的包文件中这样引用文件:
scaffolding/grid.less
但不是像这样使用时:
捆绑文件: main.less
main.less: @import "scaffolding/grid.less"
第一种select导致更多关于重复代码的问题,目前还不是一个可行的方法。
之前提出过不同的问题,似乎编译器可能找不到@import的path。 但是有一个使用npm的较less库的configuration部分。
function compileLess(lessCss, lessPath, cb) { var lessDir = path.dirname(lessPath), fileName = path.basename(lessPath), options = { paths: ['.', lessDir, lessDir + '/scaffolding'], // Specify search paths for @import directives filename: fileName }; less.render(lessCss, options, function (err, css) { if (err) throw err; cb(css); }); }
你可以看到我如何添加我的子目录,但它没有任何效果 – 要么我定义的子目录的方式是不正确的,subdirecty有错误/不完整的path,或者它是正确的,编译器仍然不捡起来。
我被困在哪里从这里去。
任何意见赞赏。
这是我的一个错误,但是一个不容易被察觉的错误,所以我会张贴我的问题的原因,以便别人不花我几个小时,因为我追求一个不必要的问题的解决scheme。
我正在使用ServiceStack Bundler – 我相信这个问题也会出现在任何使用npm的less库的解决scheme上。
我的主要问题是,我的更改都没有引发编译。 我使用了许多@import和许多子目录来处理less量的文件,所以我的第一个想法是这个问题是由于子目录引起的,后来由于@import语句。 但是这两个都不正确。
我定义了一个包: main.css.bundle
在包中,我调用了我的主文件,其中包含所有其他@imported文件: main.less
问题在于,通常会保留main.css,但是bundle也会根据bundle的名字给出相同的名字。 所以两者都是相互冲突的。
更改软件包名称或主要更less的文件名称,所有应该工作。