Экспресс-ошибка, когда я выполняю запуск npm - PullRequest
0 голосов
/ 02 декабря 2018

Я получаю сообщение об ошибке при выполнении

npm run start (node ​​bin / index.js)

при компиляции с использованием сценариев gulp работает нормально безошибки.

Мой gruntfile.js :

const gulp = require('gulp');
const ts = require('gulp-typescript');
const JSON_FILES = ['src/*.json', 'src/**/*.json'];

// pull in the project TypeScript config
var tsProject = ts.createProject('tsconfig.json');

gulp.task('scripts', () => {
  const tsResult = tsProject.src()
  .pipe(tsProject());
  return tsResult.js.pipe(gulp.dest('dist'));
});

gulp.task('watch', ['scripts'], () => {
  gulp.watch('src/**/*.ts', ['scripts']);
});

gulp.task('assets', function() {
  return gulp.src(JSON_FILES)
  .pipe(gulp.dest('bin'));
});

Мой tsconfig.json :

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "bin/",
    "module": "es2015",
    "types": [],
    "forceConsistentCasingInFileNames": false,  
    "lib": ["es2015", "dom"],   
    "noImplicitAny": false,
    "removeComments": true,
    "preserveConstEnums": true,
    "sourceMap": true
  },
  "include": [
    "src/index.ts",
    "polyfills.ts"
  ],
  "exclude": [
    "src/test.ts",
    "**/*.spec.ts",
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}

Мой index.ts:

import * as http from 'http';
import * as debug from 'debug';

import App from './App'

//debug('ts-express:server');

const port = normalizePort(process.env.PORT || 8080);


App.set('port', port);


const server = http.createServer(App)
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);

function normalizePort(val: number|string): number|string|boolean {
  let port: number = (typeof val === 'string') ? parseInt(val, 10) : val;
  if (isNaN(port)) return val;
  else if (port >= 0) return port;
  else return false;
}

function onError(error: NodeJS.ErrnoException): void {

  if (error.syscall !== 'listen') throw error;

  let bind = (typeof port === 'string') ? 'Pipe ' + port : 'Port ' + port;

  switch(error.code) {
    case 'EACCES':
      console.error(`${bind} requires elevated privileges`);
      process.exit(1);
      break;
    case 'EADDRINUSE':
      console.error(`${bind} is already in use`);
      process.exit(1);
      break;
    default:
      throw error;
  }
}

function onListening(): void {
  let addr = server.address();
  let bind = (typeof addr === 'string') ? `pipe ${addr}` : `port ${addr.port}`;
  debug(`Listening on ${bind}`);
}

импорт файлов при записи в консоли запуск запуска npm не преобразуется в require.

Ошибки :

npm run start

back-new@1.0.0 start C: \ Users \ XXXX \ back-new узел bin / index.js

внутренний / modules / cjs / loader.js: 582 throw err;^

Ошибка: не удается найти модуль 'App' в Function.Module._resolveFilename (внутренний / modules / cjs / loader.js: 580: 15) в Function.Module._load (внутренний / modules / cjs / loader.js: 506: 25) в Module.require (внутренний / modules / cjs / loader.js: 636: 17) по требованию (внутренний / modules / cjs / helpers.js: 20: 18) в объекте.(C: \ Users \ David M \ source \ repos \ CV_Development \ cv_backend \ nodejs \ back-new \ bin \ index.js: 2: 11) в модуле Module._compile (внутренний / modules / cjs / loader.js: 688:30) в Object.Module._extensions..js (внутренний / modules / cjs / loader.js: 699: 10) в Module.load (внутренний / modules / cjs / loader.js: 598: 32) в tryModuleLoad (внутренний /modules / cjs / loader.js: 537: 12) в Function.Module._load (внутренняя / modules / cjs / loader.js: 529: 3) npm ERR!код ELIFECYCLE npm ERR!errno 1 npm ERR!back-new@1.0.0 start: node bin/index.js npm ERR!Статус выхода 1 npm ERR!нпм ERR!Ошибка при запуске сценария back-new@1.0.0.нпм ERR!Это, вероятно, не проблема с npm.Скорее всего, выше выводится логирование.

npm ERR!Полный журнал этого прогона можно найти в: npm ERR!C: \ Users \ XXX \ AppData \ Roaming \ npm-cache_logs \ 2018-12-03T22_34_00_257Z-debug.log

index.js :

var http = require("http");
var App = require("App");

var port = normalizePort(process.env.PORT || 8080);
App.set('port', port);
var server = http.createServer(App);
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
function normalizePort(val) {
    var port = (typeof val === 'string') ? parseInt(val, 10) : val;
    if (isNaN(port))
        return val;
    else if (port >= 0)
        return port;
    else
        return false;
}
function onError(error) {
    if (error.syscall !== 'listen')
        throw error;
    var bind = (typeof port === 'string') ? 'Pipe ' + port : 'Port ' + port;
    switch (error.code) {
        case 'EACCES':
            console.error(bind + " requires elevated privileges");
            process.exit(1);
            break;
        case 'EADDRINUSE':
            console.error(bind + " is already in use");
            process.exit(1);
            break;
        default:
            throw error;
    }
}
function onListening() {
    var addr = server.address();
    var bind = (typeof addr === 'string') ? "pipe " + addr : "port " + addr.port;
    debug("Listening on " + bind);
}
//# sourceMappingURL=index.js.map

что не так?

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