Npm install "no such file or directory" ... /package.json "for custom modules

I have several folders, symbolically linked to node_modules, to be able to have importthem as modules. For example, I have a directory src/client/apps/adminthat is symbolically linked to node_modules/@admin. But npm gives me these warnings when I try to install or remove any modules

$ npm i -S connect-roles
...

npm WARN ENOENT ENOENT: no such file or directory, open '/Users/Admin/Code/www/learn/src/client/apps/admin/assets/package.json'
npm WARN ENOENT ENOENT: no such file or directory, open '/Users/Admin/Code/www/learn/src/client/apps/admin/components/package.json'
npm WARN ENOENT ENOENT: no such file or directory, open '/Users/Admin/Code/www/learn/src/client/apps/admin/reducers/package.json'
npm WARN ENOENT ENOENT: no such file or directory, open '/Users/Admin/Code/www/learn/src/client/apps/admin/package.json'

Of course, I can simply add package.jsonto each such folder, but I do not want to. There must be another better way to do this. There is?

PS: npm v3.5.3

+4
source share
3 answers

, module-alias, app-module-path. require/import.

:

const moduleAlias = require('module-alias')

moduleAlias.addAliases({
  '@root'  : __dirname,
  '@server': __dirname + '/src/server'
})

const someModule = require('@server/some-module')

readme

-1

require/import , . , .

, , node_modules, :

(, require('http'))
node .

(, require ('bluebird'))
, npm _node_modules_ , , package.json.

(, require('../settings/menu'))
( ) , .

package.json, npm , name . , , .

, :

apps  
└───admin
    │   assets.js
    │   components.js
    |   reducers.js
    ├───subfolder
    │   │   thing.js

.

, components.js:

require ('./assets')

thing.js:

require ('../assets')

, , , . path.resolve(), , .

:

require ('../assets')

require (path.resolve('app/admin/assets'))

, "" .

require() node js

+2

Try the following command:

npm install -g npm-autoinit
-2
source

Source: https://habr.com/ru/post/1623653/


All Articles