javascript - 不能要求 npm 安装的模块
问题描述
我正在尝试在我的项目中安装一个新模块,但是一旦我安装并需要它,我就会收到错误消息
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
包.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"
}
}
解决方案
推荐阅读
- google-chrome-devtools - 如何从 chrome devtools 性能记录中访问图像
- html - 在 flexbox 中保持包含图像的 div 的纵横比
- google-cloud-platform - 将静态外部 IP 地址移动到我的另一个地址
- json - 带有特殊字符的 Json 返回
- jsf - 那么Inputtext在编辑信息时丢失了掩码,这是怎么回事?
- php - 用于 IQAndreas PHP 垃圾邮件过滤器的带有两个大写字母且没有空格的 Reg 表达式名称
- heroku - 如何解决 Heroku 上的“peer dep missing”问题?
- python - TypeError - Torch.Device RepeatedScalarContainer
- pthreads - 如何测试 pthread_setname_np() 在我的平台上是否可用
- spring - 如何在不按一定时间间隔轮询批处理作业执行表的情况下监听spring批处理作业状态的变化?