Как минимизировать и уродовать пакет NPM, написанный на Typescript?

#node.js #typescript #npm #minify #uglifyjs

#node.js #машинописный текст #npm #минимизировать #uglifyjs

Вопрос:

Мне нужно опубликовать уменьшенную версию пакета NPM, написанного на Typescript. Чтобы скомпилировать приложение, я использую tsc -p . command, и оно создает пакет в lib папке. Я чувствую, что lib это несколько похоже на src папку с точки зрения размера, поскольку в нем есть ненужные папки, вложенные папки и файлы.

Можно ли уменьшить и превратить эту lib папку в один index.min.js файл?

P.S. этот пакет является инструментом CLI. Есть ли необходимость отправлять определения типов в d.ts файлах? Все, что они содержат, это просто типы для функций и переменных, используемых в коде.

Спасибо!

введите описание изображения здесь

Ответ №1:

Чтобы объединить все в один файл, вам нужно установить outFile свойство в свойстве typescript

 {
  "compilerOptions": {
    "outFile": "./lib/index.js"
// more configs here
  },
  "exclude": [
    "node_modules"
  ]
}
 

Для минимизации вы должны использовать внешний инструмент, поскольку в Typescript для этого нет никаких опций, и, возможно, у него никогда не будет, поскольку это открытый запрос с 2014 года

Комментарии:

1. Не будет работать, так как я использую общий модуль JS

2. Но почему? Если вы хотите, чтобы все было в одном файле, вам не нужно использовать какой-либо модуль

3. Прежде всего, module — это не какой-то пакет, а ключ в tsconfig. Во-вторых, какова связь между конечным файлом сборки и модулем? Этот модуль используется только для включения инструкций импорта / экспорта.