Broccoli-compass and ember-cli 0.39

匿名 (未验证) 提交于 2019-12-03 01:03:01

问题:

I recently upgraded ember-cli to .39, and something changed to cause my broccoli-compass code to break.

Here's the code:

app.styles = function() {   return compileCompass(this.appAndDependencies(), this.name + '/styles/app.scss', {     compassCommand: 'bundle exec compass',     outputStyle: 'expanded',     sassDir: this.name + '/styles',     imagesDir: 'public/images',     cssDir: '/assets'   }); }; 

I get this error:

[broccoli-compass] Error:  Command failed: Errno::ENOENT on line ["155"] of ~/.rvm/gems/ruby-2.1.1/gems/compass-0.12.6/lib/compass/compiler.rb: No such file or directory @ rb_sysopen - ~/campaign-designer/ember/tmp/tree_merger-tmp_dest_dir-pSk32Zuy.tmp/campaign-designer/styles/app.scss Run with --trace to see the full backtrace  arguments: `bundle exec compass compile campaign-designer/styles/app.scss --relative-assets --sass-dir campaign-designer/styles --output-style expanded --images-dir public/images --css-dir "../compass_compiler-tmp_cache_dir-8Yu97OaF.tmp/assets"` 

Has app.styles or this.appAndDependencies() changed? I've tried many variants of this config to no avail.

There's a similar question here, but I still couldn't get things working.

回答1:

For what it's worth, something like this ended up helping me:

// Compass config in Brocfile.js app.registry.add('css', 'broccoli-compass', 'scss', {   toTree: function(tree, inputPath, outputPath, options) {     // broccoli-compass doesn't like leading slashes     if (inputPath[0] === '/') { inputPath = inputPath.slice(1); }      // tree = mergeTrees([     //   tree,     //   'public'     // ], {     //   description: 'TreeMerger (stylesAndVendorAndPublic)'     // });      return compileCompass(tree, inputPath + '/app.scss', {       outputStyle: 'expanded',       // require: 'sass-css-importer', // Allows us to import CSS files with @import("CSS:path")       sassDir: inputPath,       imagesDir: 'images',       //fontsDir: 'fonts',       cssDir: outputPath     });   } }); 

Ultimately I removed compass from my project (I just had to write a few SASS mixins myself) to avoid the troubles with the config + attempt to get faster build speeds.


Update: You may now want to check out the ember-cli-compass-compiler ember-cli addon, which makes it easier to get started with Compass in your ember-cli project.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!