Не требует npm установленных модулей - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь установить новый модуль в свой проект, но как только я устанавливаю и требую его, я получаю сообщение об ошибке

Cannot find the module 'xxxxx'

Ранее я установил такие модули, как express и body-parser , которые работают без сбоев, но я не вижу их требующих новых модулей. Я посмотрел в своей папке _node_modules_ и после установки нового модуля создается новый файл для этого модуля. Кажется, что require не может потребовать его из-за какой-то странности, может быть маршрутизация?

Состав:

 -project
    -client
     -front-end stuff
    -server
     -node_modules
     -src
     -.DS_Store
     -Dockerfile
     -package-lock.json
     -package.json

Я нахожусь в папке сервера, когда я запускаю команду npm install .

файл server.js:

'use strict';

// NPM dependencies.
var express = require('express'),
    bodyParser = require('body-parser'),
    morgan = require('morgan'),
    sequelize = require('sequelize'),
    passport = require('passport'),
    jwt = require('jsonwebtoken'),
    path = require('path'),
    models = require("./models"),
    compression = require('compression');


// App related modules.
var hookJWTStrategy = require('./services/passportStrategy');

// Initializations.
var app = express();

// Parse as urlencoded and json.
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

// Hook up the HTTP logger.
app.use(morgan('dev'));

// Hook up Passport.
app.use(passport.initialize());

// Hook the passport JWT strategy.
hookJWTStrategy(passport);

// Set the static files location.
app.use(express.static(__dirname + '../public'));

// Bundle API routes.
app.use('/api', require('./routes/api')(passport));

// Catch all route.
app.get('*', function(req, res) {
    res.send('Hello there');
});

// sync() will create all table if they doesn't exist in database
models.sequelize.sync().then(function () {
  // Start the server.
  app.listen('3000', function() {
      console.log('Magic happens at http://localhost:3000s/! We are now all now doomed!');
  });

Сгенерированная ошибка:

module.js:559
server_1       |     throw err;
server_1       |     ^
server_1       | 
server_1       | Error: Cannot find module 'compression'
server_1       |     at Function.Module._resolveFilename (module.js:557:15)
server_1       |     at Function.Module._load (module.js:484:25)
server_1       |     at Module.require (module.js:606:17)
server_1       |     at require (internal/module.js:11:18)
server_1       |     at Object.<anonymous> (/app/src/server.js:12:19)
server_1       |     at Module._compile (module.js:662:30)
server_1       |     at Object.Module._extensions..js (module.js:673:10)
server_1       |     at Module.load (module.js:575:32)
server_1       |     at tryModuleLoad (module.js:515:12)
server_1       |     at Function.Module._load (module.js:507:3)
server_1       |     at Function.Module.runMain (module.js:703:10)
server_1       |     at startup (bootstrap_node.js:193:16)
server_1       |     at bootstrap_node.js:660:3
server_1       | npm ERR! code ELIFECYCLE
server_1       | npm ERR! errno 1
server_1       | npm ERR! james-auth@1.0.0 start: `node ./src/server.js`
server_1       | npm ERR! Exit status 1
server_1       | npm ERR! 
server_1       | npm ERR! Failed at the james-auth@1.0.0 start script.
server_1       | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
server_1       | 
server_1       | npm ERR! A complete log of this run can be found in:
server_1       | npm ERR!     /root/.npm/_logs/2018-04-25T07_26_17_609Z-debug.log

Package.json:

{
  "name": "james-auth",
  "version": "1.0.0",
  "main": "src/server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node ./src/server.js"
  },
  "repository": {
    "type": "git"
  },
  "keywords": [
    "express",
    "jwt-authentication",
    "jwt",
    "mysql",
    "angular",
    "sequelize",
    "authentication"
  ],
  "author": "Nick C. Vasile",
  "license": "MIT",
  "dependencies": {
    "angular": "^1.6.2",
    "bcrypt": "^1.0.2",
    "body-parser": "^1.17.1",
    "compression": "^1.7.2",
    "express": "^4.15.2",
    "jsonwebtoken": "^7.3.0",
    "morgan": "^1.8.1",
    "mysql": "^2.13.0",
    "nodemon": "^1.15.1",
    "passport": "^0.3.2",
    "passport-jwt": "^2.2.1",
    "sequelize": "^3.32.1",
    "sequelize-cli": "^4.0.0"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...