원격 서버의 도커 빌드 프로세스 내에 빌드해야하므로 모든 출력 메시지가 여유 채널에서 인쇄됩니다. 배포 프로세스가 서버에서 중지되었지만 긴 출력 메시지 이후에 어떤 부분이 잘못되었는지 확인할 수 없습니다. 옵션의 숫자가Webpack은`stats : false`를 컴파일 할 때 많은 양의 메시지를 출력합니다.
'use strict';
const path = require('path');
const glob = require('glob');
const webpack = require('webpack');
const OptimizeJsPlugin = require('optimize-js-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const LiveReloadPlugin = require('webpack-livereload-plugin');
const configs = [{
entry: {
// 'main': './scripts/boot.aot.ts',
'jit': './scripts/boot.jit.ts',
// 'boot.common': './scripts/boot.common.ts'
},
context: path.join(process.cwd(), '.'),
output: {
path: path.join(process.cwd(), 'public-html/dist'),
filename: '[name].js'
},
module: {
rules: [{
test: /\.ts$/,
use: ['awesome-typescript-loader', 'angular2-template-loader']
}, {
test: /\.html$/,
use: 'html-loader?minimize=false'
}]
},
plugins: [
new webpack.ProgressPlugin(),
new webpack.ContextReplacementPlugin(
// The (\\|\/) piece accounts for path separators in *nix and Windows
/angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/,
path.join(process.cwd(), '.')
),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery"
})
],
resolve: {
modules: [
'node_modules',
path.resolve(process.cwd(), '.')
],
alias: {
'jquery': require.resolve('jquery'),
},
extensions: ['.ts', '.js']
},
stats: false,
performance: {
hints: false
}
}, {
name: 'styles',
entry: {
'main': './styles/layout.scss',
},
output: {
path: path.join(process.cwd(), 'public-html/dist'),
filename: '[name].js',
},
module: {
rules: [
{
test: /\.scss$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
'css-loader?minimize=true!',
{
loader: 'sass-loader',
options: {
// Special config for Material Component SCSS importing
includePaths: ['node_modules'].map((d) => {
return path.join(__dirname, d);
})
}
}
]
}),
},
{ test: /\.css$/, loader: 'style-loader!css-loader?minimize=true' },
{ test: /\.(gif|png|jpe?g)$/i, loader: 'file-loader?name=dist/images/[name].[ext]' },
{ test: /\.woff2?$/, loader: 'url-loader?name=fonts/[name].[ext]&limit=10000&mimetype=application/font-woff' },
{ test: /\.(ttf|eot|svg)$/, loader: 'file-loader?name=fonts/[name].[ext]' },
],
},
plugins: [
new ExtractTextPlugin({
filename: '[name].css',
}),
new LiveReloadPlugin()
],
}];
if (process.env.NODE_ENV !== 'production') {
configs[0].devtool = false;
// 'source-map';
configs[0].plugins = configs[0].plugins.concat([
new webpack.DefinePlugin({
'WEBPACK_ENV': '"dev"'
})
]);
} else {
configs[0].devtool = false;
configs[0].plugins = configs[0].plugins.concat([
new webpack.optimize.UglifyJsPlugin({
compress: {
screw_ie8: true,
warnings: false,
},
comments: false,
sourceMap: false,
}),
new OptimizeJsPlugin({
sourceMap: false,
}),
new webpack.DefinePlugin({
WEBPACK_ENV: '"production"',
}),
]);
}
module.exports = configs;
그리고이 webpack stats에 따르면
{
"compilerOptions": {
"baseUrl": "./",
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"declaration": true,
"noImplicitAny": false,
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"outDir": "./dist",
"rootDir": "./",
"skipLibCheck": true,
"typeRoots": [
"./node_modules/@types",
"./typings"
],
"types": [
"node",
"jquery",
"gapi",
"gapi.auth2"
],
"lib": [
"dom",
"es2015"
]
},
"compileOnSave": false,
"buildOnSave": false,
"files": [
"./typings/hb-ng2-sdk.d.ts",
"./scripts/module.ts"
],
"exclude": [
"node_modules",
"dist",
"**/*.ngfactory.ts",
"**/*.shim.ts"
],
"awesomeTypescriptLoaderOptions": {
"useBabel": true,
"useCache": true,
"silent": true
},
"angularCompilerOptions": {
"genDir": "./aot",
"skipMetadataEmit" : false,
"entryModule": "scripts/module#AppModule"
}
}
에 콘솔에 설정 될 것이다 당신이 개발 모드에서만 오류를 확인해야합니까? –
어떤 웹팩 버전을 사용하고 있습니까? – brandNew
3.8.1 올바르게 기억하는 경우 – tom10271