Название в значительной степени подводит итог. У меня есть файл proxy.conf.js, который попал в ng serve
, и я просто хочу получить целевой URL-адрес из файла ts среды или файла json, или мне все равно на данный момент, я просто хочу одно место для хранения URL-адреса, который питает другие соответственно...
Итак, environment.congif.ts
(который не включен ни в какие конфигурации, просто файл для хранения объекта настроек, который в настоящее время передает environment.dev.ts и не может передать proxy.conf.js);
export const environment = {
production: false,
apiUrl: 'http://localhost:12345'
};
Затем proxy.conf.js
;
var settings = require('./src/environments/environment.config');
const PROXY_CONFIG = [{
"/restapi/*": {
"target": settings.environment.apiUrl,
"secure": false,
"changeOrigin": true,
"logLevel": "debug"
}
}]
module.exports = PROXY_CONFIG
Чего по какой-то причине я явно не понимаю (тем более, что intellisense прекрасно заполняет путь как для файла, так и для свойства). Я получаю сообщение об ошибке ng serve
;
Cannot find module './src/environments/environment.config'
Error: Cannot find module './src/environments/environment.config'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
........
Итак, мой вопрос: почему это не может решить таким образом? Я просто хочу, чтобы один файл устанавливал целевой URL-адрес, который отправляет нужные места из environment.config.ts
ДОПОЛНЕНИЕ . Таким образом, файлы environment.*.ts находятся в папке /src/environments
, как и при любой установке по умолчанию. proxy.conf.js находится в корне проекта вместе с другими файлами по умолчанию, такими как package.json или angular.json. Все пути правильные, intellisense даже заполнит значения, но по какой-то причине proxy.conf.js не будет хорошо работать при импорте объекта const из среды (хотя при сборке, как я уже сказал, intellisense находит все просто отлично). Итак, как видно из названия, единственная проблема, с которой я сталкиваюсь, - это чтение URL-адреса в прокси-файл js из файла среды ts, так что у меня есть только один файл для поддержки apiurl.
environment.ts
, которое по умолчанию используется наenvironment.dev.ts
, для какой-либо конкретной цели? Я не уверен, что это из-за этого, но вangular.json
упоминается, что этот файл будет заменен наenvironment.prod.ts
во время производственной сборки. Этой ошибки не должно быть, поскольку эта команда выполняется во время производственной сборки, но все же попробуйте использовать значение по умолчаниюenvironment.ts
, чтобы увидеть, что ошибка все еще сохраняется. И, конечно же, эти два файла предназначены только для настройки конфигураций производства и разработки. - person sndpkpr   schedule 26.12.2018ng build --prod
заменит environment.ts на environment.prod.ts, у меня там есть совершенно отдельный файл, не включенный ни в одну конфигурацию сборки, с конкретным намерением использовать его для хранения конфигураций dev (все, что угодно без --prod флаг), который я пытаюсь использовать для передачи proxy.conf.js и environment.dev.ts, environment.dev.ts отлично импортирует его для своих настроек, проблема заключается в proxy.conf.js требовать. :/ - person Chris W.   schedule 26.12.2018import { environment } from './src/environments/environment.config';
вместоvar settings = require('./src/environments/environment.config');
? - person sndpkpr   schedule 26.12.2018SyntaxError: Unexpected token import
, хотя в этом и заключается моя проблема, поэтому, даже если я попробую просто общийimport * as blah from './path/to/environment.config'
, я просто получаю ту же ошибку, которая может быть частью проблемы с версией машинописного текста? Вот где я не уверен, к сожалению, так как я не гуру версий, лол. - person Chris W.   schedule 26.12.2018require
будет просто в файле .js, все, что .ts прекрасно обрабатывает импорт из другого файла ts. - person Chris W.   schedule 26.12.2018js
в angular можно импортировать вот такconst { SpecReporter } = require('jasmine-spec-reporter');
Я прочитал его по умолчаниюprotractor.conf.js
. Попробуйте. Ву! но я почти забыл, что мы можем использовать расширениеjs
в angular, лол. машинопись - person sndpkpr   schedule 26.12.2018