使用以下webpack.mix.js
文件
const mix = require("laravel-mix");
// Laravel Mix plugins for additional capabilities
require("laravel-mix-purgecss");
require("laravel-mix-criticalcss");
// CSS Plugins
const tailwindcss = require("tailwindcss");
const autoprefixer = require("autoprefixer");
const presetenv = require("postcss-preset-env");
mix.setPublicPath('../public_html/assets/')
.sass(pkg.paths.src.scss + "master.scss", "css/master.min.css")
.options({
processCssUrls: false,
postCss: [ tailwindcss('./tailwind.config.js') ],
})
.js(pkg.paths.src.js + "site.js", "js/site.min.js")
.sourceMaps()
.browserSync({
proxy: "domain.local",
notify: {
styles: {
top: 'auto',
bottom: '0'
}
},
files: [
"src/scss/*.scss",
"templates/*.twig",
"templates/**/*.twig",
"templates/*.js",
"templates/**/*.js"
]
});
// mix.disableSuccessNotifications();
if (mix.inProduction()) {
mix.webpackConfig({
plugins: [],
})
.criticalCss({
enabled: true,
paths: {
base: 'https://domain.local',
templates: './templates/_inline_css/',
suffix: '.min'
},
urls: [
{ url: '/', template: 'index' },
],
options: {
minify: true,
timeout: 1200000,
},
})
.version();
}
当我跑步时,npm run production
我得到:
发出 HtmlCriticalWebpackPlugin(node:58149) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_ARG_TYPE] 后 98%:“数据”参数必须是字符串类型或 Buffer、TypedArray 或 DataView 的实例。收到未定义。
令人困惑的是,在某一时刻这工作正常。我的 URL 列表比我上面显示的要长。我第一次尝试它时,它成功输出了 CSS 文件,但我遇到了超时问题,所以开始一次做几个。
在出现上述错误之前,我能够成功运行它两三次,现在它不会再编译了。我什至回去尝试了我之前尝试过的相同捆绑包,但第二次就不行了。
我也尝试过使用 Gulp 进行类似的设置,但得到了同样的错误。
有没有其他人得到过这个?你是怎么解决的?