riot-barcode

1.2.0 • Public • Published

barcode

npm version Build Status nodejs version MIT LICENSE

riot-barcode is a simple barcode generator for riotjs by using JsBarcode library. For detailed specifications, please refer to this document.

Please see the demo: https://kkeeth.github.io/riot-barcode/

Useage

▼ CDN

If you want to use riot-barcode with a CDN service, etc., load the JS file in the html file, and place the tag <riot-barcode /> in the component you want to use.

See also the example directory in the github repository.

  • index.html
<!DOCTYPE html>
<html>
  <head>
    <title>riot-barcode</title>
    <script src="riot+compiler.js"></script>
    <script src="riot-barcode.js"></script>
  </head>
  <body>
    <div is="app"></div>

    <script defer src="app.riot" type="riot"></script>
    <script>
      riot.compile().then(() => {
        riot.mount("[is='app']")
      })
    </script>
  </body>
</html>
  • app.riot
<app>
  <p>
    Please input any text:
    <input
      type="text"
      oninput="{ handleChange }"
      value="{ state.inputValue }"
    />
  </p>
  <riot-barcode value="{ state.inputValue }" />

  <script>
    const initialValue = 'JsBarcode for RiotJS'

    export default {
      state: {
        inputValue: initialValue,
      },
      handleChange(e) {
        this.update({
          inputValue: e.target.value ? e.target.value : initialValue,
        })
      },
    }
  </script>
</app>

There are several CDN services available, but I'm including two for your reference.

▼ Bundler

Use whatever bandoliers you want(e.g. webpack, rollup, parcel ... etc). For your reference, here's the code for using webpack.

  • install
$ npm install -S riot-barcode
  • index.html
<!DOCTYPE html>
<html>
  <head>
    <title>My Riot App</title>
  </head>
  <body>
    <div is="app" data-riot-component></div>

    <script defer src="dist/bundle.js"></script>
  </body>
</html>
  • app.riot
<app>
  <riot-barcode value="your any text" />
</app>
  • app.js (your main js file)
import '@riotjs/hot-reload'
import { component } from 'riot'
import 'riot-barcode'
import App from './app.riot'

component(App)(document.querySelector('[data-riot-component]'))
  • webpack.config.js
const path = require('path')

module.exports = {
  entry: './src/app.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
  devServer: {
    open: true,
  },
  module: {
    rules: [
      {
        test: /\.riot$/,
        exclude: /node_modules/,
        use: [
          {
            loader: '@riotjs/webpack-loader',
            options: {
              hot: true,
            },
          },
        ],
      },
    ],
  },
}

License

MIT License

Any issue or want more features? Contact me!

This module has been tested under limited scenarios. If you find any issue please feel free to report via one of the below platforms:

Package Sidebar

Install

npm i riot-barcode

Weekly Downloads

1

Version

1.2.0

License

MIT

Unpacked Size

508 kB

Total Files

12

Last publish

Collaborators

  • kkeeth