我不确定您为什么不希望已编译的文件位于公共目录中。无论如何,您可以使用mix.setPublicPath() 更改输出目录。这将告诉 Mix 你想要将所有资产编译到的基本目录。
webpack.mix.js
const mix = require('laravel-mix');
mix.setPublicPath('');
mix.postCss('resources/js/example/file.css', 'resources/js/example/file.min.css', []);
如果你想混合和缩小 HTML 文件,你可以安装这个插件。
npm install minify-html-webpack-plugin --save-dev
然后添加到你的 webpack...
const MinifyHtmlWebpackPlugin = require('minify-html-webpack-plugin');
const mix = require('laravel-mix');
mix.setPublicPath('');
mix.postCss('resources/js/example/file.css', 'resources/js/example/file.min.css', []);
mix.webpackConfig({
plugins: [
new MinifyHtmlWebpackPlugin({
afterBuild: true,
src: './resources/js/example',
dest: './resources/js/example',
ignoreFileNameRegex: /\.(gitignore|php)$/,
ignoreFileContentsRegex: /(<\?xml version)|(mail::message)/,
rules: {
collapseBooleanAttributes: true,
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true,
minifyJS: true,
}
})
]
});
并进行开发或生产构建。请记住,您必须使用 src 和 dest 才能完全按照您想要的方式获得输出。