Node.js - ошибка: не удается найти модуль "./router" - PullRequest
0 голосов
/ 04 июня 2019

Я новичок в Node.js и использую его для создания сервера.

Мне кажется, у меня проблема с синтаксисом.

Я установил babel, чтобы я мог использовать синтаксис ES6 и чтобы я мог использовать оператор импорта и не требовать.

Все работало нормально, пока я не попытался импортировать роутер из файла router.js.

1. Установка бабел

`npm install --save-dev @babel/cli @babel/core @babel/preset-env`

2. $ touch .babelrc

{
  "presets": ["@babel/preset-env"]
}

Package.json

{
  "name": "server",
  "version": "1.0.0",
  "description": "Hotel management server",
  "main": "index.js",
  "scripts": {
    "build": "babel index.js -d dist",
    "start": "npm run build && nodemon dist/index.js"
  },
  "dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.17.1",
    "mongoose": "^5.5.12",
    "morgan": "^1.9.1",
    "nodemon": "^1.19.1"
  },
  "devDependencies": {
    "@babel/cli": "^7.4.4",
    "@babel/core": "^7.4.5",
    "@babel/preset-env": "^7.4.5"
  }
}

router.js

module.exports = function(app){
    app.get('/', function(req, res, next){
        res.send(['water', 'phone', 'paper']);
    });
}

index.js

import express from 'express';
import http from 'http';
import bodyParser from 'body-parser';
import morgan from 'morgan';
const app = express();
import router from './router';

//App setup
app.use(morgan('combined')); 
app.use(bodyParser.json({type: '*/*'})); 
router(app);


const port = process.env.PORT || 3090;
const server = http.createServer(app);
server.listen(port);
console.log('server listenining on ', port);

Я получаю следующую ошибку:

Error: Cannot find module './router'
    at Function.Module._resolveFilename (module.js:543:15)
    at Function.Module._load (module.js:470:25)
    at Module.require (module.js:593:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/teabuzov/Desktop/sts/hotelapp/hotel-management/server/dist/index.js:11:38)
    at Module._compile (module.js:649:30)
    at Object.Module._extensions..js (module.js:660:10)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:501:12)
    at Function.Module._load (module.js:493:3)
[nodemon] app crashed - waiting for file changes before starting...

Я не уверен, что мне здесь не хватает, любой совет будет признателен.

1 Ответ

0 голосов
/ 04 июня 2019

Причина, по которой это происходит, заключается в том, что файл вашего маршрутизатора не компилируется в вашу папку dist.Я бы предложил вам создать каталог src и указать babel на эту папку и все ее содержимое.

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