У меня есть приложение Angular 6 с SSR. Я заметил, что в SSR в server.js (не происходит без SSR) он принимает неверный переменный файл environmentmanet (environment.ts) один раз (
)
это мир скомпилированного server.js
var environment_1 = __webpack_require__(/*! ../../../../environments/environment */ "./src/environments/environment.ts");
и это естественно, потому что при компиляции браузера angular.json меняет местами файлы
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
однако, когда webpack компилирует сервер, он просто берет enironment.ts, который является конфигурацией разработчика
/***/ "./src/environments/environment.ts":
/*!*****************************************!*\
!*** ./src/environments/environment.ts ***!
\*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
// The file contents for the current environment will overwrite these during build.
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`.
Object.defineProperty(exports, "__esModule", { value: true });
exports.environment = {
production: false,
apiUrl: 'dev url',
googleMapsApiKey: 'dev key'
};
/***/ }),
также вы можете увидеть устаревшие предложения по использованию углов ng build --env=prod
, но я использую ng build --configuration=prod
, также попробовал просто ng build --prod
.
Есть идеи, как решить эту проблему?