Ember.js 在西兰花样本应用程序中将西兰花sass替换为西兰花指南针

Ember.js 在西兰花样本应用程序中将西兰花sass替换为西兰花指南针,ember.js,compass-sass,broccolijs,Ember.js,Compass Sass,Broccolijs,我正试图用,来代替 我的应用程序结构如下所示: app public styles app.scss 小册子: ... var compileSass = require('broccoli-compass') ... var appNamespace = 'my-app-name'; function preprocess (tree) { tree = filterTemplates(tree, { extensions: ['hbs', 'handlebars'],

我正试图用,来代替

我的应用程序结构如下所示:

app
public
styles
  app.scss
小册子:

...
var compileSass = require('broccoli-compass')
...
var appNamespace = 'my-app-name';

function preprocess (tree) {
  tree = filterTemplates(tree, {
    extensions: ['hbs', 'handlebars'],
    compileFunction: 'Ember.Handlebars.compile'
  })

  return tree
}

var app = 'app'
app = pickFiles(app, {
  srcDir: '/',
  destDir: appNamespace // move under app namespace
})
app = preprocess(app)

var styles = 'styles'
styles = pickFiles(styles, {
  srcDir: '/',
  destDir: appNamespace
})
styles = preprocess(styles)

var tests = 'tests'
tests = pickFiles(tests, {
  srcDir: '/',
  destDir: appNamespace + '/tests'
})
tests = preprocess(tests)

var vendor = 'vendor'

var sourceTrees = [app, styles, vendor]
if (env !== 'production') {
  sourceTrees.push(tests)
}
sourceTrees = sourceTrees.concat(findBowerTrees())

var appAndDependencies = new mergeTrees(sourceTrees, { overwrite: true })

var appJs = compileES6(appAndDependencies, {
  loaderFile: 'loader.js',
  ignoredModules: [
    'ember/resolver'
  ],
  inputFiles: [
    appNamespace + '/**/*.js'
  ],
  legacyFilesToAppend: [
    'jquery.js',
    'handlebars.js',
    'ember.js',
    'ember-resolver.js'
  ],
  wrapInEval: false,
  outputFile: '/assets/app.js'
})

var appCss = compileSass(appAndDependencies, 'styles/app.scss')

var publicFiles = 'public'

module.exports = mergeTrees([appJs, appCss, publicFiles])
但是,调用
西兰花服务时,我遇到以下错误:

[Brocoli compass]错误:没有此类文件或目录-/Users/my.name/Documents/Code/brocoli-ember/tmp/tree\u merge-tmp\u dest\u dir-4rW9S0CD.tmp/styles/app.scss


你知道我在这里遗漏了什么吗?

我将小册子样式预处理更改为:

var styles = 'styles'
styles = pickFiles(styles, {
  srcDir: '/',
  destDir: appNamespace + '/styles'
})
styles = preprocess(styles)
以及CompileAsses调用:

var appCss = compileSass(appAndDependencies, appNamespace + '/styles/app.scss', {
    outputStyle: 'expanded',
    sassDir: appNamespace + '/styles',
    imagesDir: 'public/images/',
    cssDir: '/assets'
})

与这里的答案类似-

我也有同样的问题,但无法理解您的小册子-介意看一下吗?您是否始终使用appCss作为变量,还是使用app.styles?谢谢嗯,我这里没有使用ember cli,brocfile语法可能有点不同。如果你想看的话,我的完整的小册子(它还有一些功能)就在这里