2016-02-01 29 views
17

Sto creando un pacchetto npm e utilizzo di webpack per caricatori come babel, eslint, ecc. Tuttavia, sono convinto che la versione finale compilata del pacchetto debba contenere solo un modulo, senza webpackBootstrap.Crea pacchetto npm con webpack

Il mio attuale package, webpack config and source. L'ho spogliato per renderlo "funzionante".

passaggi che ho svolto per verificare se funziona:

npm install 
npm run build 
npm install -g . 
node 
var test = require('test-package'); 

Con conseguente questo errore:

Error: Cannot find module 'test-package' 
    at Function.Module._resolveFilename (module.js:337:15) 
    at Function.Module._load (module.js:287:25) 
    at Module.require (module.js:366:17) 
    at require (module.js:385:17) 
    at repl:1:12 
    at REPLServer.defaultEval (repl.js:248:27) 
    at bound (domain.js:280:14) 
    at REPLServer.runBound [as eval] (domain.js:293:12) 
    at REPLServer.<anonymous> (repl.js:412:12) 
    at emitOne (events.js:82:20) 

Sono nuovo di webpack e NPM quindi fatemi sapere se avete bisogno di altre informazioni .

risposta

11

Impostare output.libraryTarget a umd. Ciò ti darà qualcosa che è facile da consumare da vari sistemi di moduli (globale, AMD, CommonJS).

output.library è un altro campo utile da impostare. Questo dovrebbe corrispondere al nome della tua biblioteca globale che desideri.


C'è stato un altro problema oltre questo. Per rendere necessaria l'importazione, è necessario utilizzare npm link. Questa funzione è molto utile durante lo sviluppo. È possibile ripristinare un collegamento tramite npm unlink.

+0

Mentre ho aggiunto queste modifiche, il pacchetto continua a non funzionare. Ho aggiornato la domanda con un link per eliminare config/source e le fasi che sto prendendo per verificare se il pacchetto funziona/installabile/utilizzabile. –

+0

In base all'errore, direi che potrebbe essere qualcosa che riguarda npm. Perché non usare 'npm link'? A parte questo ho risolto questo tipo di problemi nel mio [boilerplate] (https://github.com/survivejs/react-component-boilerplate). Fa molto per te se hai tempo per studiare i suoi approcci. –

+0

L'uso del collegamento npm era la chiave .. Sono molto nuovo a javascript/nodejs ma imparo velocemente .. Se aggiorni la tua risposta con la parte di collegamento npm (oltre alle informazioni di configurazione che hai già fornito) allora posso accettare il tuo risposta. Ho dato un'occhiata alla tua caldaia. Ce n'è molto, ma sembra bello - lo esaminerò passo dopo passo dopo aver finito il mio primo pacco. –

Problemi correlati