2016-04-13 3 views
1

Я создаю пакет npm, который я хочу опубликовать. Я последовал за this instructions и работает до тех пор, пока не доберусь до части require. Я установил пакет с npm install . -g, и я вижу его в списке, когда я делаю npm ls -g. Но когда я требую его я получаюНе может потребоваться пакет npm

var VuePrint = require('vue-print') 
Error: Cannot find module 'vue-print' 
    at Function.Module._resolveFilename (module.js:325:15) 
    at Function.Module._load (module.js:276:25) 
    at Module.require (module.js:353:17) 
    at require (internal/module.js:12:17) 
    at repl:1:16 
    at REPLServer.defaultEval (repl.js:252:27) 
    at bound (domain.js:287:14) 
    at REPLServer.runBound [as eval] (domain.js:300:12) 
    at REPLServer.<anonymous> (repl.js:417:12) 
    at emitOne (events.js:82:20) 

То ошибка от узла-РЕПЛ, но я получил то же самое в другой среде с различным StackTrace. Итак, Как я могу потребовать, чтобы мой пакет опубликовал его позже? Вот соответствующие части моего package.json файла в случае это помогает

{ 
    "name": "vue-print", 
    "description": "Vue plugin to easy print in the web", 
    "author": "YerkoPalma <[email protected]>", 
    "version": "0.1.3", 
    "main": "dist/vueprint.js", 
    "files": [ 
    "dist/vueprint.js", 
    "src", 
    "README.md" 
    ], 
    "scripts": { 
    "build": "cross-env NODE_ENV=production browserify -e src/vueprint.js | uglifyjs -c warnings=false -m > dist/vueprint.js", 
    ... 
    }, 
    "browserify": { 
    "transform": [ 
     "vueify", 
     "babelify" 
    ] 
    }, 
    "repository": { 
    "type": "git", 
    "url": "git+https://github.com/YerkoPalma/vue-print.git" 
    }, 
    "bugs": { 
    "url": "https://github.com/YerkoPalma/vue-print/issues" 
    }, 
    "dependencies": { 
    "vue": "^1.0.0" 
    }, 
    "devDependencies": { 
    ... 
    } 
} 
+0

Вы установили пакет по всему миру, но не локально по внешнему виду вещей. 'require' не проверяет папку, в которой установлены глобальные модули. Как говорят документы, если вы «npm install ../ my-package», то он будет установлен в папку node_modules, и вы должны иметь возможность использовать 'require' – dan

+0

. Мне может потребоваться любой другой глобально установленный пакет. Кроме того, я уже пробовал с локально установленным пакетом –

+0

Предполагая [это] (https://www.npmjs.com/package/vue-print), ваш модуль работает для меня, используя 'npm install vue-print'. Однако модуль должен находиться в папке 'node_modules'. См. Http://stackoverflow.com/questions/15636367/nodejs-require-a-global-module-package относительно использования 'require' в глобальных модулях. – dan

ответ

1

Вам не нужно устанавливать упаковывается в качестве глобального пакета (-g). Просто перейдите в папку проекта (где вы хотите использовать vue-print) и выполните команду «npm i vue-print», после чего вы можете использовать require ('vue-print') в этой папке

+0

Для этого требуется, чтобы пакет был опубликован. Я не упоминал об этом, но я уже опубликовал пакет, и он был успешно опубликован, но опять же, не требуется. В глобальном или местном масштабе это не имеет никакого значения –

Смежные вопросы