Мне нужно перенести проект Angular 6 , для которого настроен WebPack , на Angular-CLI 6 , у меня есть некоторые беспокоятся о том, что что-то сломалось, поэтому мне нужно руководство, чтобы получить хороший код и достичь этой цели.
Следуйте за некоторыми образцами моего большого файла WebPack:
Некоторые плагины :
//Plugins Nest - OPTIONS
var extractSassPlugin = new ExtractTextPlugin({
filename: 'css/app.global.css', // This is not just t
allChunks: true
});
var extractCssPlugin = new ExtractTextPlugin({
filename: 'css/app.modules.css', // This is not just t
allChunks: true
});
var htmlPlugin = new HtmlWebpackPlugin({
template: 'src/index.html'
});
var cleanPlugin = new CleanWebpackPlugin(['dist']);
var optionsPlugin = new webpack.LoaderOptionsPlugin({
debug: DEV_ENV || LOCAL_ENV || KARMA
});
var uglifyJs;
if (PROD_ENV === true) {
uglifyJs = new UglifyJsPlugin({
//.. Just if, the code is minified
uglifyOptions: {
compress: true,
comments: false
}
});
} else {
uglifyJs = new UglifyJsPlugin({
//.. Just if, the code is minified
});
}
У меня есть CopyWebpackPlugin :
new CopyWebpackPlugin([
{ from: 'src/somewhere', to: 'js/libs/somewhere-else' },
Некоторые особенности .css
расширений для компиляции:
{
test: /\.print\.scss$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name].min.css',
outputPath: 'css/print/',
publicPath: '../'
}
},
{
loader: 'sass-loader',
options: {
outputStyle: 'compressed'
}
}
]
}
И entry
и output
с использованием split .js (hash-chunk) для упрощения загрузки кода в браузер:
entry: {
polyfills: './src/polyfills.browser.ts',
vendor: './src/vendor.browser.ts',
main: outputMain
},
output: {
filename: '[name]-[hash].js',
chunkFilename: '[name]-[hash]-chunk.js',
path: path.resolve(__dirname, 'dist')
},
Любая помощь действительна, спасибо!