В настоящее время я работаю над белым приложением AngularJS, которое требует определенных переменных, доступных во время выполнения, в зависимости от «сходства», которое создается в Webpack.Я использую Webpack 4 и AngularJS (с Typescript).
// foo.json
{ "code": "foo", "name": "Foo International" }
// bar.json
{ "code": "bar", "name": "Bar Industries" }
// affinity.json (this is the base file)
{ "code": "", "name": "", country": "UK" }
- Когда веб-пакет делает свое дело, я хочу передать параметр, например
webpack --env.affinity=foo
, и создать для него объединенную версию foo.json
и affinity.json
,т.е.
// affinity.json (the new one)
{ "code": "foo", "name": "Foo International", "country": "UK" }
Редактировать Я добился небольшого успеха при использовании MergeJsonWebpackPlugin
, который объединяет необходимые файлы .json.К сожалению, это только выводит его в выходную папку (не в комплекте).
Вывод вышеупомянутого должен быть в связке (я предполагаю в виде
module.exports
, то есть
eval("module.exports = {\"code\":\"foo\",\"name\":\"Foo Industries\",\"Country\":\"UK\"};\n\n//#sourceURL=webpack:///./src/app/affinity.json?");
Наконец, мне нужен мой AngularJS, чтобы импортировать этот ресурс и использовать его в приложении.то есть
import * as affinity from "../affinity.json";
Я думал, что это будет работать, однако в комплект входит "базовая" версия affinity.json
.Выходная версия верна, но, вероятно, там не должно быть.