Angular 9 производственная сборка с веб-пакетом - PullRequest
3 голосов
/ 16 февраля 2020

У меня есть приложение Angular, которое я регулярно обновляю и собираю с помощью новейшего пакета Webpack. В некоторые дни go я обновил проект до Angular 9 и столкнулся с некоторыми проблемами, которые не смог решить.

  1. npm Запустить сборку: prod ошибка TS2307: не удается найти модуль './app/app.module.ngfactory'. Я думаю, что это вызвано этой частью конфигурации webpack, потому что импорт модуля изменен в Angular 9. Однако я не совсем уверен в этом.
  plugins: [
    new ngw.AngularCompilerPlugin({
      tsConfigPath: path.resolve(rootPath, 'tsconfig.aot.json'),
      entryModule: path.resolve(rootPath, 'src', 'app', 'app.module#AppModule')
    })
  ]
npm запустить тест Файл не найден. Эта ошибка немного загадочна для меня. Я читал некоторые посты о подобных проблемах, но эти советы не работали. Ниже вы можете найти мои файлы конфигурации, но весь проект доступен на GitHub: https://github.com/aszidien/angular-webpack-build пакет. json ... "scripts": { "build:dev": "cross-env NODE_ENV=development webpack --mode development", "build:prod": "cross-env NODE_ENV=production webpack --mode production", "test": "jest" } ... tsconfig.aot. json { "compilerOptions": { "module": "es2015", "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, "target": "es5", "typeRoots": [ "node_modules/@types" ], "lib": [ "es2018", "dom" ] }, "angularCompilerOptions": { "skipMetadataEmit": true } } webpack.config.common . js const webpackMerge = require('webpack-merge'); const commonConfig = require('./webpack.config.common'); module.exports = webpackMerge(commonConfig, { devtool: 'cheap-module-eval-source-map', output: { publicPath: '/', filename: 'bundle.js', chunkFilename: '[id].chunk.js' }, module: { rules: [ { test: /\.ts$/, use: [ { loader: 'awesome-typescript-loader', options: { transpileOnly: true } }, { loader: 'angular2-template-loader' }, { loader: 'angular-router-loader' } ] } ] }, devServer: { historyApiFallback: true, stats: 'minimal' } }); webpack.config.prod. js const webpackMerge = require('webpack-merge'); const commonConfig = require('./webpack.config.common'); module.exports = webpackMerge(commonConfig, { devtool: 'cheap-module-eval-source-map', output: { publicPath: '/', filename: 'bundle.js', chunkFilename: '[id].chunk.js' }, module: { rules: [ { test: /\.ts$/, use: [ { loader: 'awesome-typescript-loader', options: { transpileOnly: true } }, { loader: 'angular2-template-loader' }, { loader: 'angular-router-loader' } ] } ] }, devServer: { historyApiFallback: true, stats: 'minimal' } });

Ответы [ 2 ]

0 голосов
/ 02 марта 2020

У меня проблема с Simillar, но с Angular Universal & webpack. Я подготовил репо с некоторым образцом: https://github.com/MDzyga/universal

0 голосов
/ 18 февраля 2020
  1. в Angular 9 с Ivy, ngfactory файлов больше нет, вы должны удалить файл main-aot.ts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...