Если у вас есть только один файл, использующий require, или вы делаете это для демонстрационных целей, вы можете определить require в верхней части вашего файла TypeScript.
declare var require: any
Если вы используете TypeScript 2.x, вам больше не нужно устанавливать типизированные или однозначно набранные. Просто установите следующий пакет.
npm install @types/node --save-dev
Файлы будущего декларации (15.06.2016)
Такие инструменты, как Typings и TSD, будут продолжать работать, и мы будем работать вместе эти общины, чтобы обеспечить плавный переход.
ДОПОЛНИТЕЛЬНО: Если вы указываете typeroots
или types
в своем tsconfig.json
. Возможно, вам придется обновить tsconfig.json
, чтобы включить узел в качестве типа. По умолчанию любой пакет в @types уже включен в вашу сборку , если вы не указали ни одну из этих опций. Подробнее
Ниже приведена правильная конфигурация для каждого из этих параметров.
{
"compilerOptions": {
// types option has been previously configured
"types": [
// add node as an option
"node"
],
// typeRoots option has been previously configured
"typeRoots": [
// add path to @types
"node_modules/@types"
]
}
}
Используя наборы (замена DefiniteTyped), вы можете указать определение непосредственно из репозитория GitHub.
Установить наборы
npm install typings -g --save-dev
Установить определение типа requireJS из репозитория DefintelyType
typings install dt~node --save --global
Если вы используете Webpack в качестве инструмента сборки, вы можете включить типы веб-пакетов.
npm install --save-dev @ types / webpack-env
Обновите свой tsconfig.json
следующим образом в compilerOptions
:
"types": [
"webpack-env"
]
Это позволяет вам сделать require.ensure
и другие специальные функции Webpack.
С помощью CLI вы можете выполнить вышеуказанный шаг Webpack и добавить блок «types» в свой tsconfig.app.json
.
В качестве альтернативы, вы можете использовать предустановленные node
типы. Имейте в виду, что в ваш клиентский код будут включены дополнительные типы, которые на самом деле недоступны.
"compilerOptions": {
// other options
"types": [
"node"
]
}
timegm основан на Метод Unix gmtime () , который возвращает секунды с 1 января 1970 года.
Javascripts метод setTime () отсчитывает миллисекунды с этой даты. Вам нужно будет умножить количество секунд на 1000, чтобы преобразовать в формат, ожидаемый Javascript.
Вот несколько методов Python, которые я использую для преобразования в javascript / datetime и обратно.
def to_datetime(js_timestamp):
return datetime.datetime.fromtimestamp(js_timestamp/1000)
def js_timestamp_from_datetime(dt):
return 1000 * time.mktime(dt.timetuple())
В javascript вы бы сделали:
var dt = new Date();
dt.setTime(js_timestamp);
Не путаете ли вы секунды с 1970 года с миллисекундами с 1970 года?
JavaScript Конструктор даты работает с миллисекундами, вам следует умножить время Unix Python на 1000.
var unixTimestampSeg = 1247793660;
var date = new Date(unixTimestampSeg*1000);