Модуль Node.js не найден - PullRequest
0 голосов
/ 05 мая 2018

У меня возникает ошибка Модуль не найден для пакета NPM, который установлен и, по-видимому, присутствует в папке node_modules. Чего-то не хватает в самом базовом пакете?

Вот мой package.json:

{
  "name": "cmtest",
  "version": "0.0.0",
  "description": "cmtest",
  "main": "server.js",
  "author": {
    "name": "Andrew"
  },
  "dependencies": {
    "cloudmersive": "^1.3.2"
  }
}

И тогда я вызываю требование:

'use strict';
var http = require('http');
var Cloudmersive = require('cloudmersive');
var port = process.env.PORT || 1337;

http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');



    var api = new Cloudmersive.BarcodeLookupApi()

    var value = "value_example"; // {String} Barcode value


    var callback = function (error, data, response) {
        if (error) {
            console.error(error);
        } else {
            console.log('API called successfully. Returned data: ' + data);
        }
    };
    api.barcodeLookupEanLookup(value, callback);
}).listen(port);

Но я получаю эту ошибку:

"Cannot find module 'cloudmersive'"
"Error: Cannot find module 'cloudmersive'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:571:15)
    at Function.Module._load (internal/modules/cjs/loader.js:497:25)
    at Module.require (internal/modules/cjs/loader.js:626:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (c:\users\andrew\documents\visual studio 2017\Projects\cmtest\cmtest\server.js:3:20)
    at Module._compile (internal/modules/cjs/loader.js:675:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
    at Module.load (internal/modules/cjs/loader.js:589:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
    at Function.Module._load (internal/modules/cjs/loader.js:520:3)"

Есть идеи? Что-то не так с самим пакетом? Это проблема разработки / конфигурации с моей стороны?

Пакет cloudmersive устанавливается вместе с NPM и отображается в папке node_modules. Я также пытался использовать nvm для переключения между несколькими версиями.

Исходный код пакета находится здесь: https://github.com/Cloudmersive/Cloudmersive.APIClient.Javascript

Что-то не так с файлом index.js?

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Чтобы использовать библиотеку локально без публикации в удаленном реестре npm, сначала установите зависимости, изменив в каталог, содержащий package.json. Давайте назовем это JAVASCRIPT_CLIENT_DIR. Затем запустите:

npm install

Далее, свяжите это глобально в npm со следующим, также из JAVASCRIPT_CLIENT_DIR:

ссылка в минуту Наконец, переключитесь на каталог, из которого вы хотите использовать ваше облако, и запустите:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

Теперь вы должны иметь возможность require('cloudmersive') в файлах javascript из каталога, который вы запускали последним команда сверху от.

Вы можете получить файл README.md внутри модуля cloudmersive, который вы установили в каталоге node_modules, чтобы получить более подробные инструкции по этому вопросу.

0 голосов
/ 05 мая 2018

package.json для cloudmersive говорит, что main - это src/client.invoker/index.js, но файл не находится в этом каталоге.

...