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 startwich 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