Ошибка: не удается найти модуль 'js' в приложении Node Express - PullRequest
0 голосов
/ 27 июня 2019

У меня есть приложение NodeJS Express, которым я занят.

После некоторой разработки я вижу эту проблему:

Ошибка: не удается найти модуль 'js'

После некоторого поиска в Google я не нашел никакого разрешения. Обычные методы разрешения не помогают:

  1. убедитесь, что модуль доступен

  2. удалить все модули в node_modules и переустановить их

Странно, что приложение Express работает «из коробки», никаких изменений и т. Д. Не требуется. Поскольку модуль js ( я предполагаю ) отсутствует как-то , я добавил это в свой список зависимостей:

{
  "dependencies": {
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "js": "^0.1.0",                  <------------I added this
    "express": "^4.16.1",
    "http-errors": "~1.6.3",
    "morgan": "~1.9.1",
    "pug": "2.0.0-beta11",
    "ws": "^7.0.1",
    "fs-extra": "^8.0.1",
    "lodash": "4.17.11",
    "solc": "0.5.8",
    "scrypt": "^6.0.3",
    "python2": "^0.0.1",
    "web3": "1.0.0-beta.37"

  }
}

Как мне решить эту проблему?

Шаги:

  • Я запускаю приложение в режиме отладки (Webstorm) и жду, пока это приложение инициализируется. (без ошибок)

Консольный выход

Debugger listening on ws://127.0.0.1:38687/75fc3e83-8a03-46ff-b769-b49dc880e767
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
  commerce-chain-gui:server Listening on port 3000 +0ms
  • Перейдите к http://localhost:3000 (, где он размещен ): на странице есть ошибки.

Выход на консоль (прилагается)

GET / 500 2736.227 ms - 3474

Stacktrace (отображается на веб-странице)

Cannot find module 'js'
Error: Cannot find module 'js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:668:15)
    at Function.Module._load (internal/modules/cjs/loader.js:591:27)
    at Module.require (internal/modules/cjs/loader.js:723:19)
    at require (internal/modules/cjs/helpers.js:14:16)
    at new View (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/view.js:81:14)
    at Function.render (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/application.js:570:12)
    at ServerResponse.render (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/response.js:1008:7)
    at /mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/routes/index.js:6:7
    at Layer.handle [as handle_request] (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/layer.js:95:5)
    at next (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/layer.js:95:5)
    at /mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:335:12)
    at next (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:275:10)
    at Function.handle (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:174:3)
    at router (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:47:12)
    at Layer.handle [as handle_request] (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:317:13)
    at /mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:335:12)
    at next (/mnt/win_c/Users/s2134/IdeaProjects/commerce-chain-gui/node_modules/express/lib/router/index.js:275:10)

Как мне решить эту проблему?

Update

Я создал новое приложение Express, скопировал все по частям, чтобы, возможно, найти виновника ...

Приложение работает (в новом экспресс-приложении), но я не выяснил, в чем причина проблемы.

Это все еще проблема, так как решение пока не найдено

1 Ответ

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

Я думаю, вы должны установить его глобально npm i -g js и затем вы можете использовать его в консоли.

По отправленной вами ссылке: js is a a better alternative to node -p и узел -p используется в системном терминале для вывода результата скрипта

ОБНОВЛЕНИЕ: вы правильно зарегистрировали свой движок просмотра? в стека, который вы даете, вы можете увидеть:

at new View ([...]/node_modules/express/lib/view.js:81:14)

при поиске кода в этом файле есть:

    if (!opts.engines[this.ext]) {
      // load engine
      var mod = this.ext.substr(1)
      debug('require "%s"', mod) // Here is a debug function

      // default engine export
      var fn = require(mod).__express // Here is your error

      if (typeof fn !== 'function') {
          throw new Error('Module "' + mod + '" does not provide a view engine.')
      }

      opts.engines[this.ext] = fn
    }

вы можете просмотреть экспресс-отладку, запустив ваше приложение с DEBUG=express:* node index.js

ОБНОВЛЕНИЕ 2: кажется, что вы пытаетесь загрузить представление с расширением .js: используйте экспресс-расширение, чтобы найти механизм представления => например, файл file.pug будет отображаться с помощью механизма pug

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