Добавлен Kokomi,
опубликован
Luacraft - набор Typesctipt деклараций, содержащий все объявления наивных функций. На данный момент в NPM репозитории содержится пакет для версии 1.26 (Warcraft III - Lua), содержащий в себе все наивные функции для версии 1.26. Дополнительно определены нативные функции из UjAPI.
Настройка Typescript To Lua
Предполагается, что у вас есть базовые знания по использованию пакетного менеджера и вы можете инициализировать npm проект.
- Скачиваем зависимости
- Добавьте скрипты в package.json
"scripts": {
"build": "tstl",
"dev": "tstl --watch"
}
Пример package.json
{
"name": "irina-bot-data",
"version": "1.0.0",
"description": "",
"main": "./dist/index",
"types": "./dist/index",
"scripts": {
"build": "tstl",
"dev": "tstl --watch"
},
"files": [
"dist/**/*.lua",
"dist/**/*.d.ts"
],
"author": "",
"license": "MIT",
"devDependencies": {
"lua-types": "^2.13.0",
"typescript": "^4.8.4",
"luacraft-1.26": "^1.0.5",
"typescript-to-lua": "^1.10.1"
}
}
- Создайте в корне проекта файл tsconfig.json. Заполните его
Пример файла
{
"compilerOptions": {
"target": "esnext",
"lib": ["esnext"],
"moduleResolution": "node",
"strict": true,
"rootDir": "./src",
"outDir": "./dist",
"module": "CommonJS"
},
"tstl": {
"luaTarget": "5.3",
},
"strictFunctionTypes": true
}
Вы можете изменить входной и выходной каталог, указав их в rootDir и outDir соответственно.
Подключение luacarft к проекту
- Устанавливаем пакет luacraft-1.26
- Подключаем декларацию типов к typescript проекту
{
"compilerOptions": {
"types": ["luacraft-1.26/all"]
}
}
Готово. Теперь автокомплит будет подсказывать вам константы, функции. Так же будет контролироваться соблюдение типов. Рекомендуем включить строгий режим для функций объявив в tsconfig.json следующее значение:
"strictFunctionTypes": true
Сборка проекта
Выполните в корне проекта в терминале команду npm run build. Если в коде отсутствуют ошибки - в выходном каталоге появятся LUA файлы, которые можно подключать к карте Warcraft III. Обратите внимание, что Warcraft III ищет файл war3map.lua в корне карты. Его нужно создать самостоятельно и в нем подключить нужные файлы.. Скопируйте файлы в w3x архив карты.
Пример проекта сделаю позже. Возможно, позже сделаю пример по сборке в бандл.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован ScorpioT1000
Отредактирован Kokomi
Отредактирован ScorpioT1000
Отредактирован Kokomi
Отредактирован Kokomi
Отредактирован MpW
Отредактирован ScorpioT1000