Sample project prepared for create and publish React components on npm
- Use Webpack for building
- Sass ready (sass-loader). Just
import 'your/sass/files.scss'
from your components - ES2016 ready (babel loader).
- Import images from your components (url-loader). Just
import myImage from 'my/image/dir/my_image.png'
- Clone the repo:
git clone [email protected]:nmartinezb3/npm-react-component-starter.git
- Change package name, author, and all stuff in
package.json
- Install all dependencies:
npm install
- Create your components under
src/components/
- Export them from
src/index.js
:
import MyComponent from './components/MyComponent';
import MyOtherComponent from './components/MyOtherComponent';
export {
MyComponent,
MyOtherComponent
}
- Make a build:
npm run build
- Publish to npm:
npm publish
(you must have an npm account) - Install the package from other project:
npm install my-react-components
- Import the components:
import { MyComponent, MyOtherComponent } from 'my-react-components'
In order to preview the component during development:
- Run
npm start
wich runs webpack in watch mode - Create a symlink of the package:
npm link
- Create a new react project, for example with create-react-app
- Install the package from the symlink:
npm link my-react-components
(check the package name you set inpackage.json
) - Import the component:
import { MyComponent } from 'my-react-components'
- Use it!
<MyComponent />
- Everytime you make a change in the component, the changes will be reflected immediately in the preview project.
For more information about npm symlinks, visit https://docs.npmjs.com/cli/link