Мне очень нравится структура рабочего пространства 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
Есть ли какой-нибудь разумный способ решить эту проблему?
Шаги для воспроизведения:
npx create-nx-workspace@latest cli-workspace --preset empty --cli nx --nx-cloud false
cd cli-workspace
npm install -D @nrwl/node
nx generate @nrwl/node:application my-cli
- Добавить
#!/usr/bin/env node
в начало файла main.ts npm start