如何将react组件添加到npm存储库?

时间:2017-11-22 21:18:31

标签: javascript node.js reactjs npm npm-publish

我做了simple component做这项工作。现在我想与社区分享(npmjs.com)。

该组件生成CAPTCHA。

我找到了几个指南,但我做错了。我这样做(基于this):

1)安装

  

npm install -g generator-react-webpack-component

     

yo react-webpack-component

2)添加我的代码

3)修复webpack.config

output: {
    path: path.join(__dirname, 'dist'),
    filename: 'index.js',
    libraryTarget: 'umd',
    library: 'ReactComponentNpm'
}

4)构建

  

npm run build

5)添加到包装

  

npm pack

6)添加我的信息

  

npm set init.author.name“Stekolschikov”

     

npm set init.author.email“v.a.stekolschikov@gmail.com”

     

npm set init.author.url“stekolschikovv.hithub.io”

7)并尝试发布

  

npm发布./

但是:

PS C:\Users\vaste\Desktop\DEV\react-captcha-generator> npm publish ./
npm ERR! path C:\Users\vaste\AppData\Local\Temp\npm-9116-dbb91a9e\tmp\fromDir-520c1c05\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'C:\Users\vaste\AppData\Local\Temp\npm-9116-dbb91a9e\tmp\fromDir-520c1c05\package.tgz'
npm ERR!  { Error: EPERM: operation not permitted, unlink 'C:\Users\vaste\AppData\Local\Temp\npm-9116-dbb91a9e\tmp\fromDir-520c1c05\package.tgz'
npm ERR!   cause:
npm ERR!    { Error: EPERM: operation not permitted, unlink 'C:\Users\vaste\AppData\Local\Temp\npm-9116-dbb91a9e\tmp\fromDir-520c1c05\package.tgz'
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'unlink',
npm ERR!      path: 'C:\\Users\\vaste\\AppData\\Local\\Temp\\npm-9116-dbb91a9e\\tmp\\fromDir-520c1c05\\package.tgz' },
npm ERR!   isOperational: true,
npm ERR!   stack: 'Error: EPERM: operation not permitted, unlink \'C:\\Users\\vaste\\AppData\\Local\\Temp\\npm-9116-dbb91a9e\\tmp\\fromDir-520c1c05\\package.tgz\'',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'unlink',
npm ERR!   path: 'C:\\Users\\vaste\\AppData\\Local\\Temp\\npm-9116-dbb91a9e\\tmp\\fromDir-520c1c05\\package.tgz' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

我从管理员处启动了控制台,但结果是一样的。

我错过了什么?怎么回事?

帮我发布包。谢谢!

更新

我设法发布,我必须登录。

现在可以安装软件包,但是当我尝试使用软件包时,我看到了错误:

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! test2@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the test2@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

我该如何解决这个问题?

您发布的软件包可能与您尝试使用它的react-scripts本身不兼容。 如果看到发布的包内容,很明显首先包没有入口点,其次有很多冗余文件 在这里查看:https://unpkg.com/react-captcha-generator@1.0.1https://unpkg.com/react-captcha-generator@1.0.1/ - 训练斜线很重要,第一个URL意味着包没有入口点。

通常,您应该只发布dist内容,这些内容之前已根据babel符合ES5标准。如果您提供服务器包,您仍然可以捆绑它 - https://hackernoon.com/developing-isomorphic-applications-using-webpack-eca814a418ad