Skip to content

Webpack loader for Vue.js v2 components with JSX render functions

License

Notifications You must be signed in to change notification settings

skyrpex/vue-jsx-hot-loader

Repository files navigation

vue-jsx-hot-loader

Greenkeeper badge TravisCI Build status

Works with:

Vue 2 Webpack

This loader will enable Hot Module Replacement for Webpack when using Vue's JSX render functions.

Installation

npm install vue-jsx-hot-loader

Usage

// path/to/component.jsx
export default {
    render(h) {
        return (
            <div>
                <p>Hello</p>
            </div>
        );
    },
};
// webpack.config.js
export default {
    // ...
    module: {
        loaders: [
            // Enable HMR for JSX.
            {
                test: /\.jsx$/,
                use: [
                    'babel-loader',
                    'vue-jsx-hot-loader',
                ],
            },
            // Remember to use babel on the rest of the JS files.
            {
                test: /\.js$/,
                use: 'babel-loader',
            },
        ],
    },
};

Gotchas

  • It only works for the default exported module (which should normally be the component itself).

Development

Playground

npm run playground

Release

npx np