Сделать приложение узла исполняемым в рабочей области NX - PullRequest
0 голосов
/ 19 июня 2020

Мне очень нравится структура рабочего пространства NX , и это побудило меня начать использовать его при создании нового проекта CLI.

Я начал с создания @nrwl/node:application, но я в настоящее время возникают некоторые проблемы с выполнением его.

Я считаю, что это не проблема с самим NX, но я не могу добавить shebang #!/usr/bin/env node в файл main.ts, так как транспилятор ts c будет жаловаться.

Module parse failed: Unexpected character '#' (1:0) File was processed
with these loaders:  * ./node_modules/ts-loader/index.js

Я добавил свойство "bin": {"cli": "main.js"} в свой пакет. json файл, но если я запустил основной. js файл без shebang, я получу эту ошибку:

line 1: syntax error near unexpected token `('
C:\Users\*\AppData\Roaming\npm/node_modules/*/dist/apps/*/main.js: line 1: `(function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap

Есть ли какой-нибудь разумный способ решить эту проблему?

Шаги для воспроизведения:

  1. npx create-nx-workspace@latest cli-workspace --preset empty --cli nx --nx-cloud false
  2. cd cli-workspace
  3. npm install -D @nrwl/node
  4. nx generate @nrwl/node:application my-cli
  5. Добавить #!/usr/bin/env node в начало файла main.ts
  6. npm start
...