В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Используйте var
вместо import
.
var json = require('./calls.json');
Вы загружаете файл JSON, а не модуль, поэтому import
не следует использовать в этом случае. Когда используется var
, require()
снова обрабатывается как нормальная функция.
Если вы используете определение Node.js, все должно просто работать, иначе require
нужно будет определить .
В соответствии с TypScript 2.9 вы можете импортировать файл JSON изначально без дополнительного хакера / загрузчика.
Следующий фрагмент копируется из указанной ссылки выше.
< blockquote>... TypeScript теперь может импортировать файлы JSON в качестве входных файлов при использовании стратегии узла для moduleResolution. Это означает, что вы можете использовать json-файлы как часть своего проекта, и они будут хорошо напечатаны!
./src/settings.json
{
"dry": false,
"debug":
./src/foo.ts
import settings from "./settings.json";
settings.debug === true; // Okay
settings.dry === 2; // Error! Can't compare a `boolean` and `number`
TS 2.9 добавлена поддержка хорошо введенных json import . Просто добавьте:
{
"compilerOptions": {
"resolveJsonModule": true
}
}
в свои tsconfig.json
или jsconfig.json
. Теперь импорт, такой как:
import json = require('../static/calls.json');
и
import * as json from '../static/calls.json';
, должен быть разрешен и иметь правильные типизации!
commonjs
, если вы хотите вывести что-нибудь еще, она не будет работать
– mlg87
14 August 2018 в 17:14
Другое решение - изменить data.json
на data.ts
и экспортировать, как это
export default {
"key" : {
...
}
}
, и импортировать, как и следовало ожидать:
import { default as data } from './data'
Это может также выполнить с помощью оператора import
, если использовать webpack v2 , который уже упакован с помощью json-loader .
Обратите внимание, что это не async
import data from './data.json';//Note that this is not async
Кроме того, в вашем файле
typings.d.ts
добавьте следующий подстановочный модуль , чтобы избежать машинописная ошибка:Cannot find module
declare module "*.json" { const value: any; export default value; }
Для всех, кто интересуется импортом
async
, проверьте эту статью на 2uality
require
одновременно. Быстрое решение состоит в том, чтобы этот файл не ссылался ни на один из них, и просто используйтеdeclare var require: any;
. – thoughtrepo 5 October 2015 в 15:45var config = require('./config.json')
, Typcript-Babel все еще указывает на то же сообщение об ошибке «не может найти модуль .config.json». – nunobaba 6 April 2016 в 20:29