Skip to content

zennbrown/GAS-react

Repository files navigation

GAS-react

With gas-react you can create a react app bundle that will work on the Google App Script server, allowing you to build react apps that integrate with the the google suite.


NPM NPM NPM GIT


Table of Contents


Installation

  • Create a new react app with create-react-app
  • Open a command line in your app directory
  • Run npm install gas-react
$ npm install gas-react

Setup

  • To get started, run npx gas-react init
$ npx gas-react init

Usage

  • Once gas-react is installed and initialized, run npm run bundle to create your gas bundle
$ npm run bundle

This will bundle your client and server code it to the /clasp folder

Use clasp to push your files to Google

Check out our gas-react-example repo for more info on how to do this


API

Gas-react includes a simple and familiar api interface for client-server communication.

Server Example

import { server } from 'gas-react';

server.before((req) => { console.log('Request:', req); });

server.on('hello', ({ body }) => `Hello ${body}`);

Client Example

import React, { useState, useEffect } from 'react';
import { client } from 'gas-react';

function HelloWorld() {
  const [val, setVal] = useState('Loading..');

  useEffect(() => {
    client.send('hello', 'World').then((response) => {
      if (!response.error) setVal(response.body);
      else setVal('Server Error');
    }).catch(() => {
      setVal('Connection Error');
    });
  }, []);

  return (
    <div className="hello-world">
      <div>{val}</div>
    </div>
  );
}

export default HelloWorld;

Router

Popular router solutions will not with a Google App Scripts webapp. We have developed a familiar router that integrates with the google history API. check it out here gas-react-router


Features

  • Compile React-Apps into a Google App Scripts friendly bundle
  • Simple and familiar client - server api protocol
  • Created to be used with the create-react-app toolSet, unleashing its power
  • Javascript ES6 module support for GAS server

Team

zennbrown JazzBrown1
ZeeJayproductions ZeeJayproductions
github.com/zennbrown github.com/JazzBrown1

FAQ

We haven't had any questions yet but please feel free to get in touch if you have a query!


Support

Contact zennbrowndev@gmail.com for support


License

NPM

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published