2017-04-26 83 views
2

因此,我尝试使用react并将其推送到npm来构建开源项目。问题是,我的组件虽然在测试环境中工作良好,但可以安装到其他组件,但是当我将它发布到npm并下载包并尝试访问它时,它会给我一个错误。发布到npm的问题

下面是代码

import React, {Component} from 'react'; 
import {Nav, NavBar, NavLink, NavItem} from 'react-bootstrap'; 


class GitNav extends Component{ 
    handleSelect(eventKey){ 
     window.location = this.props.NavURLs[eventKey]; 
    } 
    render(props){ 
    const NavTextItems = this.props.NavTexts.map((eachNav, key) => 
     <NavItem eventKey={key} href="#">{eachNav}</NavItem> 
    ); 
    return(
     <Navbar fixedBottom collapseOnSelect> 
      <Navbar.Header> 
      <Navbar.Toggle /> 
      </Navbar.Header> 
      <Navbar.Collapse> 
       <Nav onSelect={this.handleSelect.bind(this)}> 
       {NavTextItems} 
       </Nav> 
      </Navbar.Collapse> 
      </Navbar> 
    ); 
    } 
} 

export default GitNav; 

这里的一个小样本的错误:

Error in ./~/react-github-nav/index.js 
Module parse failed: /Users/theawesomeguy/Desktop/Projects/resume3/resume/node_modules/react-github-nav/index.js Unexpected token (11:6) 
You may need an appropriate loader to handle this file type. 
SyntaxError: Unexpected token (11:6) 
@ ./src/App.js 20:22-49 

如果有人可以帮助我走出这一点,那将是巨大的。提前致谢!

+0

你的package.json和webpack文件是什么样的? –

+0

我没有任何这些。事情是,我正在开发它并通过create-react-app进行测试。可能应该提到这一点。我看了@ thinhvo0108的答案,我认为这是要走的路。尽管感谢您的帮助。这些都是需要考虑的很好的一点。 –

回答

2

为了将反应库推入NPM,您可能需要一些样板文件,它可以为您安装和转换很多东西。

=====

我也推一些反应库成功打入NPM:

https://www.npmjs.com/~thinhvo0108

https://www.npmjs.com/package/react-sticky-dynamic-header

https://www.npmjs.com/package/react-ringing-bell

=====

你的GitHub库文件夹结构也应该像雷:

https://github.com/thinhvo0108/react-sticky-dynamic-header

https://github.com/thinhvo0108/react-ringing-bell

=====下面

有用的教程在这里:

(样板源)https://github.com/juliancwirko/react-npm-boilerplate

(作者的文章)http://julian.io/creating-react-npm-packages-with-es2015/

+0

这非常有帮助。谢谢您的帮助! –

+1

不客气,很高兴你发现它很有趣^^ – thinhvo0108