我正在使用 gulp 包关键 css,以前我安装这个包:
npm install --save critical
但是在 run 之后gulp --production
,npm 向我报告了这个错误:
mix.critical is not a function
这是我完整的 gulpfile 代码:
var elixir = require('laravel-elixir');
var BrowserSync = require('laravel-elixir-browsersync');
var critical = require('critical');
elixir(function(mix) {
mix.styles([
"bootstrap.css",
"bootstrap-theme.css",
"main.css",
"jquery.fancybox.css",
"font-awesome.css",
]).version("css/all.css")
mix.critical({
src: 'http://myapp.dev',
css: 'public/css/all.css',
width: 1280,
height: 600,
dest: 'public/css/critical.css'
});
});
为什么 npm 报告我这个错误?
我认为 Elixir 1 中没有设置关键。您需要使用自定义任务扩展 elixir 。
这将创建一个critical
任务:
var critical = require('critical');
var gulp = require('gulp');
gulp.task('critical', function() {
critical.generate({
src: 'http://myapp.dev',
css: 'public/css/all.css',
width: 1280,
height: 600,
dest: 'public/css/critical.css'
});
});
然后将其添加到默认任务中,将其添加到主 elixir 调用中:
mix.task('critical');
完成后,它将在您运行gulp
或运行时执行gulp critical
。
task.js
文件特别提到需要扩展 elixir。如果 elixir 确实有其他模块的内置自动扩展(除了这里列出的那些),请给我一个参考链接,我会进一步研究它。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句