@softchef/cdk-vue

Auto deploy website with VueJs to S3 bucket and CloudFront distribution.
9,571 7
Install
npm install @softchef/cdk-vue
Latest Version:2.0.158
License:Apache-2.0
Last Updated:Aug 9, 2022
Links: GitHub  ·  npm
Maintainer: softchef-iot-lab

AWS CDK with VueJs

npm version Release npm

AWS CDK with VueJs package will auto deploy website with VueJs to S3 bucket and CloudFront distribution.

VueJs will build on local environment or docker container, it's based with Vue-CLI project. Then use S3-Deployment to upload to specify S3 bucket.

If you have many resource arguments will pass to frontend, the config property will generate config.js to specify S3 bucket. It's a VueJs extendsion and archive config in Vue.$config operation.

Architecture

Installation

  npm install @softchef/cdk-vue
  // or
  yarn add @softchef/cdk-vue

Example

import { VueDeployment } from '@softchef/cdk-vue'
// In your stack
// Basic deployment
const website = new VueDeployment(this, 'Website', {
  source: `${CLIENTS_PATH}`,
  config: {
    apiId: articleApi.restApiId, // RestApi
    userPoolId: userPool.userPoolId, // UserPool
    foo: {
      bar: {
        value: 123 // Customize config
      }
    }
  }
})

VueDeployment Properties

{
  source: string;

  // Use target bucket or create new bucket(if not specify)
  bucket?: s3.Bucket;

  // Specify S3 bucket name, if not specify will random generate
  bucketName?: string;

  // S3 bucket prefix, ex: "/website"
  websiteDirectoryPrefix?: string;

  // CloudFront distribution defaultRootObject, default is "index.html"
  indexHtml?: string;

  // CloudFront will enable/disable Ipv6 options
  enableIpv6?: boolean;

  // Pass env variables to Vue-CLI bundling, you can get its in process.env(frontend)
  environment?: { [ key: string ]: string };

  // Pass bundling arguments to Vue-CLI
  bundlingArguments?: string;

  // Force run Vue-CLI build in local
  runsLocally?: boolean;

  // Force use docker to bundling
  forceDockerBundling?: boolean;

  // Specify the "config.js" in your web bucket key, default is "/config.js"
  configJsKey?: string;

  // Config object will upload to web bucket(config.js)
  config?: { [key: string]: any };
}

VueJs Example

// In public/index.html
<script type="text/javascript" src="/config.js">

// In main.js or app.js
Vue.use(window.CloudDeploymentConfig)

// In *.vue
export default {
  mounted () {
    this.$config.get('apiId')
    this.$config.get('foo.bar.value') // use "." to get value recursively
  }
}

Related Packages

@softchef/cdk-vue3

Auto deploy website with VueJs 3 to S3 bucket and CloudFront distribution.

1,482 0
vue-cli-plugin-s3-deploy

A vue-cli plugin for deploying your built Vue app to an S3 bucket.

84,597
form-wallet-web

form-wallet-web

1,976
web
aws-spa

A no-brainer script to deploy a single page app on AWS

8,157 42
serverless-frontend

Deploy frontend along with your Serverless application

4,495 0

Version History

Version Released License
2.0.158 Apache-2.0
2.0.157 Apache-2.0
2.0.156 Apache-2.0
2.0.155 Apache-2.0
2.0.154 Apache-2.0