使用webpack创建npm包

Mar*_*ale 17 package node.js npm webpack

我正在创建一个npm包并使用webpack作为babel,eslint等加载器.但是我假设包的最终编译版本应该只包含那个模块,没有webpackBootstrap.

我当前的包,webpack配置和源代码.我把它剥离下来让它"工作".

我采取的步骤来检查它是否正常工作:

npm install
npm run build
npm install -g .
node
var test = require('test-package');
Run Code Online (Sandbox Code Playgroud)

导致此错误:

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)
Run Code Online (Sandbox Code Playgroud)

我是webpack和npm的新手,所以如果您需要更多信息请告诉我.

Juh*_*nen 12

output.libraryTarget设置为umd.这将为您提供易于从各种模块系统(全局,AMD,CommonJS)使用的东西.

output.library是另一个有用的字段.这应该与您想要的库全局名称相匹配.


除此之外还有另一个问题.要npm link使用所需的导入工作.此功能在开发过程中非常有用.您可以还原链接npm unlink.

  • 谢谢.添加.我有[章节](http://survivejs.com/webpack_react/authoring_libraries/),我将介绍这些技巧.这可能比样板文件更容易消化. (2认同)