Миграция с WebPack на Angular-CLI 6 - PullRequest
0 голосов
/ 03 января 2019

Мне нужно перенести проект 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')
  },

Любая помощь действительна, спасибо!

...