Я хочу, чтобы мое угловое приложение работало автономно без сервера.
В папке активов находятся изображения, звуковые файлы и т. Д. И один game.json файл, содержащий бизнес-данные для приложения (на сервере эти данные будут храниться в БДили будет вызван через Rest).
Все работает довольно хорошо.Используя 'ng build', я могу создать полную сборку, которую можно запустить, открыв index.html в моем файловом менеджере OS без http-сервера.
Проблема в том, что я не могу изменить содержимое game.json после сборки, потому что она, похоже, каким-то образом включена в сборку.Изменения игнорируются, оно замораживает содержимое в том состоянии, в котором оно было скомпилировано.
Поскольку я буду запускать приложение только локально, я прочитаю свои данные следующим образом:
typings.d.ts:
declare module "*.json" {
const value: any;
export default value;
}
game.service.ts:
import * as data_json from 'assets/data/game.json';
@Injectable()
export class GameService {
constructor() { }
loadGames(): Observable<Game> {
return Observable.of(JSON.parse(JSON.stringify(data_json)));
}
}
Я не использую HTTPClient, потому что столкнулся бы с проблемами CORS.Чтение данных работает нормально, но изменения в файле game.json полностью игнорируются.
Есть ли способ сделать этот файл "изменяемым", чтобы я мог изменить его в папке активов сборки?