Как отослать мой пакет. json из /dist/app.js - PullRequest
0 голосов
/ 27 марта 2020

Для моего веб-приложения, когда я пытаюсь импортировать тег версии из пакета. json в приложение. js (/src/app.js), что на один уровень выше приложения. js , местный пробег работает отлично. Но когда я пытаюсь запустить из разработки, генерируя папку dist, код не работает, даже если sr c и папка dist находятся на одном уровне и должны иметь доступ к пакету. json.

При развертывании в разработке я получаю сообщение об ошибке:

Error: Cannot find module '../package.json'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)

Может кто-нибудь помочь мне с этим?

1 Ответ

3 голосов
/ 27 марта 2020

Если вы используете Node.js, что, кажется, имеет место, используйте нодный модуль path для разрешения package.json пути. Вот пример:

src/
  path/
    to/
      subdir/
        foo.js
index.js
package.json

пакет. json

{
  "version": "1.0"
}

foo. js

const path = require('path');
const packageJson = require(path.resolve('package.json'));

module.exports = {
  "packageVersion": packageJson.version
}

index. js

const path = require('path');
const packageJson = require(path.resolve('package.json'));
const foo = require('./src/path/to/subdir/foo');

console.log(packageJson.version);
console.log(foo.packageVersion);

Когда вы запустите node index, вы получите следующий вывод

1.0
1.0

Версия от package.json считывается с index.js и foo.js с использованием path.resolve('package.json')

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