Создать модуль глобального узла и ссылку на модули узла - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь создать глобальный модуль в узле js, который будет содержать основное приложение Vue / Express. Я пытаюсь запустить внешний интерфейс Vue через мой глобальный модуль и сделать мое приложение доступным по всему миру:)

Я устанавливаю свой модуль, зайдя в каталог и напечатав:

npm install -g .

У меня есть главный файл index.js, в котором у меня есть код, но по какой-то причине он не работает. Я не могу использовать свой модуль глобально, каждый раз при запуске я получаю сообщение об ошибке «ENOET», а не такой модуль.

Вот мой index.js

#!/usr/bin/env node
const spawn = require('child_process').spawn;

console.log('Dir name');
console.log(__dirname);
// spaws node process
let child = spawn('./node_modules/@vue/vue-cli-service', [
    'serve'
]);

child.stdout.on('data', function (data) {
    process.stdout.write(data);
});

child.stderr.on('data', function (data) {
    process.stdout.write(data);
});

child.on('exit', function (data) {
    process.stdout.write('I\'m done!');
});

и мой пакет. Json

{
  "name": "test-app",
  "version": "0.1.0",
  "private": true,
  "preferGlobal": true,
  "bin": {
    "npm-analyzer": "./index.js"
  },
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "test-app-server": "node ./server/www",
    "test-app-client": "npm run serve"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "bulma": "^0.7.1",
    "cors": "^2.8.4",
    "express": "^4.16.3",
    "font-awesome": "^4.7.0",
    "node-sass": "^4.9.3",
    "sass-loader": "^7.1.0",
    "sort-by": "^1.2.0",
    "vue": "^2.5.17"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.0.1",
    "@vue/cli-plugin-eslint": "^3.0.1",
    "@vue/cli-service": "^3.0.1",
    "vue-template-compiler": "^2.5.17"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {},
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

Я думаю, что есть проблема со связыванием. Поскольку, если я открываю терминал и печатаю dirname, он всегда запускает один и тот же каталог, откуда я впервые установил пакет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...