2

Rails アセット パイプラインを gulp でクリーンアップしようとしています。すべての npm パッケージ scss/css ファイルを includePaths に明示的に追加するのにうんざりしています。徹底的に検索してドキュメントを読みましたが、 Eyeglassで node_modules を見つけるのにまだ問題があります。

これが私がこれまでに持っているセットアップです:

var sassPaths = [
'./app/assets/stylesheets/*',
publicAssets + '/stylesheets',
'./node_modules/magic.css/1.1.0/',
'./node_modules/colors.css/sass/'
],
sassOptions = {
indentedSyntax: true,
sourceComments: true,
errLogToConsole: true,
includePaths: sassPaths,
eyeglass: {
  enableImportOnce: false,
  buildDir: publicAssets + '/stylesheets',
  assets: {
    // prefix to give assets for their output url.
    httpPrefix: "assets",

    installer: function(assetFile, assetUri, oldInstaller, cb) {
      // oldInstaller is the standard eyeglass installer in this case.
      // We proxy to it for logging purposes.
      oldInstaller(assetFile, assetUri, function(err, result) {
        if (err) {
          console.log("Error installing '" + assetFile + "': " + err.toString());
        } else {
          console.log("Installed Asset '" + assetFile + "' => '" + result + "'");
        }
        cb(err, result);
      });
    },

    // Add assets except for js and sass files
    // The url passed to asset-url should be
    // relative to the assets directory specified.
    sources: [{
        directory: './node_modules/',
        pattern: [
          '**/dist/*',
          '**/dist/{scss,sass,css}/*',
          '**/{scss,sass,css}/*',
          '**/*.{scss, sass, css}',
          '**/{scss,sass,css}/*'
        ],
        globOpts: { ignore: ["**/*.js"], root: '.', }
      }]
    },
  importer: function(uri, prev, done) {
    done(sass.compiler.types.NULL);
  }
}
},
 eyeglass = new Eyeglass(sassOptions);

  console.log(eyeglass.modules);
  console.log(eyeglass.assets.assetPath);

stream = gulp.src(sassSource)
.pipe(sourceMaps.init())
.pipe(sass(eyeglass.options).on("error", sass.logError))
.pipe(postcss([lost(), autoprefixer({ browsers: ['last 2 versions'] }) ]));

Eyeglass を'./node_modules'パスにポイントし、パターン配列を使用して、css/scss がインポートするインストール済みパッケージを適切に解析できるようにしようとしています。ドキュメントを見てみると、パターンでガイドする必要さえないように思えますが、正しいディレクトリを指定すると、どこを見ればよいかがわかります。

--save-devすべてのモジュールを eyeglassに追加する簡単な方法はありますか?

4

0 に答える 0