【发布时间】:2020-06-22 08:43:58
【问题描述】:
我的 Laravel Mix 脚本有以下 webpack.mix.js 设置:
let mix = require('laravel-mix');
let LiveReloadPlugin = require('webpack-livereload-plugin');
mix.webpackConfig({
plugins: [
new LiveReloadPlugin({
port: '35729',
})
],
});
if (mix.inProduction()) {
mix.disableNotifications();
}
mix
.options({
postCss: [
require('autoprefixer'),
],
processCssUrls: false,
})
.setPublicPath('./static')
.sass('./resources/sass/app.scss', 'css')
.sourceMaps(true, 'source-map')
.version();
mix
.options({
postCss: [
require('autoprefixer'),
],
processCssUrls: false,
})
.setPublicPath('./static')
.sass('./resources/sass/login.scss', 'css')
.sourceMaps(true, 'source-map')
.version();
当我运行 npm run development 时,我得到以下输出(包括 Sourcemaps)
DONE Compiled successfully in 5987ms 12:35:24
Asset Size Chunks Chunk Names
css/app.css 343 KiB mix [emitted] mix
css/app.css.map 400 KiB mix [emitted] [dev] mix
css/login.css 163 KiB mix [emitted] mix
css/login.css.map 236 KiB mix [emitted] [dev] mix
mix.js.map 3.73 KiB mix [emitted] [dev] mix
但是,如果我运行 npm run production,我会得到以下输出(没有 Sourcemaps)
DONE Compiled successfully in 9029ms 12:33:57
Asset Size Chunks Chunk Names
css/app.css 278 KiB 0 [emitted] [big] mix
css/login.css 129 KiB 0 [emitted] mix
mix.js.map 4.52 KiB 0 [emitted] [dev] mix
我正在使用 Laravel Mix 5.0.1,并且无法通过其他错误问题/SO 问题找到解决方案——它们似乎都与无法进行开发并使用 devtools: 'inline-source-map' 修复它的源地图有关这与这里无关。
我唯一能想到的是缩小导致问题,正如 webpack 文档所建议的 (https://webpack.js.org/configuration/devtool/#devtool):
如果默认的 webpack 最小化器已被覆盖(例如自定义 terser-webpack-plugin 选项),请确保将其替换为 sourceMap: true 以启用 SourceMap 支持。
我找不到任何有关 Laravel Mix 的文档来支持这一点。
知道如何解决这个问题吗?
【问题讨论】:
标签: webpack sass minify source-maps laravel-mix