Broccolijs 用花椰菜编译更少的文件
我试图让BrocoliJS使用Brocoli less编译一个包含较少文件的目录。我将“预处理”功能更改如下:Broccolijs 用花椰菜编译更少的文件,broccolijs,Broccolijs,我试图让BrocoliJS使用Brocoli less编译一个包含较少文件的目录。我将“预处理”功能更改如下: var compileLess = require('broccoli-less') var pickFiles = require('broccoli-static-compiler') function preprocess (tree) { tree = filterTemplates(tree, { extensions: ['hbs', 'handlebars'
var compileLess = require('broccoli-less')
var pickFiles = require('broccoli-static-compiler')
function preprocess (tree) {
tree = filterTemplates(tree, {
extensions: ['hbs', 'handlebars'],
compileFunction: 'Ember.Handlebars.compile'
})
tree = filterCoffeeScript(tree, {
bare: true
})
tree = compileLess(tree, {
compress: false,
})
return tree
}
在我的项目文件夹中,我有一个名为“less”的目录,它包含在Brocfile.js中:
var lessStyles = 'less'
lessStyles = pickFiles(lessStyles, {
srcDir: '/',
files: ['main.less'],
destDir: 'appkit'
})
lessStyles = preprocess(lessStyles)
var sourceTrees = [app, styles, vendor, lessStyles]
if (env !== 'production') {
sourceTrees.push(tests)
}
sourceTrees = sourceTrees.concat(findBowerTrees())
尝试生成此项目会产生以下错误:
$ broccoli serve
Serving on http://localhost:4200
path.js:360
throw new TypeError('Arguments to path.join must be strings');
^
TypeError: Arguments to path.join must be strings
at path.js:360:15
at Array.filter (native)
at Object.exports.join (path.js:358:36)
at tryPathIndex (/home/kyrre/beekeeper-frontend/node_modules/broccoli-less/node_modules/less/lib/less/index.js:223:37)
at callback.type (/home/kyrre/beekeeper-frontend/node_modules/broccoli-less/node_modules/less/lib/less/index.js:226:29)
at Object.oncomplete (fs.js:107:15)
听起来你可能是在寻找一种没有花椰菜的花椰菜 自述文件: 该插件设计用于将单个主输入文件编译成 单个输出文件,具有@importd依赖关系树。这是不同的 来自Brocoli less,它将每个.less文件单独编译为 .css文件,不支持@imports或单个输出文件 取决于多个输入
另一方面,看起来您正在使用Ember.js——如果是这样,我强烈建议使用而不是滚动您自己的构建管道。它还提供了许多其他功能。因此,问题似乎与@import语句有关。