【发布时间】:2021-08-14 03:13:29
【问题描述】:
每次我更改代码中的一行时,mix-manifest.json 中的 css/app.css 行都会被删除。
恢复该行的唯一方法是运行npm run watch 或npm run dev,但是当我对代码进行新的修改时,我遇到了同样的问题。
如果没问题,这里是我的 mix-manifest.json:
{
"/js/app.js": "/js/app.js",
"/css/app.css": "/css/app.css",
"/css/subscriber.css": "/css/subscriber.css",
"/css/agent.css": "/css/agent.css",
"/css/guest.css": "/css/guest.css",
"/js/mobile.js": "/js/mobile.js",
"/js/vendor.js": "/js/vendor.js",
"/js/manifest.js": "/js/manifest.js",
"/css/dragula.min.css": "/css/dragula.min.css"
}
不合适时的 mix-manifest.json :
{
"/js/app.js": "/js/app.js",
"/js/mobile.js": "/js/mobile.js",
"/js/vendor.js": "/js/vendor.js",
"/js/manifest.js": "/js/manifest.js",
"/css/dragula.min.css": "/css/dragula.min.css"
}
我的 webpack.mix.js :
let mix = require('laravel-mix');
let ImageminPlugin = require('imagemin-webpack-plugin').default;
mix.webpackConfig({
plugins: [
new ImageminPlugin({
disable: mix.inProduction() === false, // Disable during development
test: /\.(jpe?g|png|gif|svg)$/i
})
]
})
.js('resources/assets/js/app.js', 'public/js').extract(['vue'])
.sass('resources/assets/sass/app.scss', 'public/css')
.sass('resources/assets/sass/subscriber.scss', 'public/css')
.sass('resources/assets/sass/agent.scss', 'public/css')
.sass('resources/assets/sass/guest.scss', 'public/css')
.copy('node_modules/vue2-dragula/styles/dragula.min.css', 'public/css/dragula.min.css')
.copyDirectory('resources/assets/img', 'public/img')
.copyDirectory('resources/assets/fonts', 'public/fonts')
// Mobile
.js('resources/assets/js/mobile.js', 'public/js')
//.disableNotifications();
if (mix.inProduction()) {
mix.options({
purifyCss : {
purifyOptions: {
whitelist: [
'is-invisible',
'is-clearfix',
'modal-card-foot',
'is-hovered',
'is-current',
'*columns*',
'*popover-*',
'*c-*',
'*ct-*',
'*-slide*',
'*taginput*',
'has-background-conciergerie',
'.is-hoverable tr:hover',
]
}
},
uglify: {
uglifyOptions: {
compress: {
drop_console: true,
}
}
}
})
.version();
}
你有什么想法吗?
谢谢!
【问题讨论】:
-
你能分享你的 webpack.mix.js 吗?
-
我在我的帖子@FouedMOUSSI 中添加了它
-
您是否尝试自定义编译后的 css 的文件名,例如 //... .sass('resources/assets/sass/app.scss', 'public/css/app.css') .sass('resources/assets/sass/subscriber.scss', 'public/css/subscriber.css').sass('resources/assets/sass/agent.scss', 'public/css/agent.css') .sass('resources/assets/sass/guest.scss', 'public/css/guest.css') //...
-
我试过你的建议,问题已经在这里@FouedMOUSSI
-
您是否尝试在删除
.copy('node_modules/vue2-dragula/styles/dragula.min.css'...行的情况下运行它?
标签: css laravel npm module manifest