Skip to content

Instantly share code, notes, and snippets.

View SoarLin's full-sized avatar
🐢
take it easy

soar_lin SoarLin

🐢
take it easy
View GitHub Profile
# Webpack 目前設定檔
[TOC]
## 套件安裝
* 主要套件 : `webpack`
* ESLint 檢查: `eslint eslint-loader eslint-plugin-react`
* Babel (ECMAScript6 語法轉換) : `babel-core babel-loader babel-preset-es2015`
* React 相關套件: `react rect-dom jsx-loader babel-preset-react`
@SoarLin
SoarLin / decorator1.js
Last active May 19, 2017 01:24
Decorator 實作範例 1
function Sale(price) {
this.price = price || 100;
}
Sale.prototype.getPrice = function() {
return this.price;
};
Sale.prototype.decorate = function (decorator) {
var F = function(){},
overrides = this.constructor.decorators[decorator],
i, newobj;
@SoarLin
SoarLin / decorator2.js
Created May 19, 2017 01:38
Decorator 實作範例 2
function Sale(price) {
this.price = price || 100;
this.decorators_list = [];
}
Sale.decorators = {};
Sale.decorators.fedtax = {
getPrice: function(price) {
return price + (price * 5/100);
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
import { shallow, createLocalVue } from '@vue/test-utils'
import Vuex from 'vuex'
import VueI18n from 'vue-i18n'
import i18n from '@/i18n'
import router from '@/router'
// Component
import Login from '@/pages/Login'
@SoarLin
SoarLin / build_utils.js
Created June 2, 2018 04:20
Vue use global SASS resource
exports.cssLoaders = function (options) {
options = options || {}
const cssLoader = {...}
const postcssLoader = {...}
function generateLoaders (loader, loaderOptions) {...}
// =========
// SASS 配置
// =========
function resolveResouce(name) {
@SoarLin
SoarLin / Makefile
Created September 2, 2018 07:50
aws-lambda-image_makefile
lambda:
npm install .
@echo "Factory package files..."
. . . . . . .
@echo "Create package archive..."
@cd build && zip -rq aws-lambda-image.zip .
@mv build/aws-lambda-image.zip ./
uploadlambda: lambda
@if [ -z "${LAMBDA_FUNCTION_NAME}" ]; then (echo "Please export LAMBDA_FUNCTION_NAME" && exit 1); fi
@SoarLin
SoarLin / vue_firebase_main.js
Created June 2, 2018 04:24
Vue Project use firebase cloud messaging
const FCMconfig = {
apiKey: 'YOUR_API_KEY',
authDomain: 'YOUR_DOMAIN',
databaseURL: 'https://<YOUR_PROJECT_ID>.firebaseio.com',
projectId: 'YOUR_PROJECT_ID',
storageBucket: '<YOUR_PROJECT_ID>.appspot.com',
messagingSenderId: 'YOUR_SENDER_ID'
}
firebase.initializeApp(FCMconfig)
@SoarLin
SoarLin / firebase-messaging-sw.js
Created June 2, 2018 04:28
Firebase Messaging Service Worker JS
// [START initialize_firebase_in_sw]
// Import and configure the Firebase SDK
// These scripts are made available when the app is served or deployed on Firebase Hosting
// If you do not serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup
importScripts('https://www.gstatic.com/firebasejs/5.0.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/5.0.0/firebase-messaging.js');
firebase.initializeApp({
messagingSenderId: '<YOUR_SENDER_ID>'
});
const messaging = firebase.messaging();
<template>
<div>
...
<button @click="registeFCM">Register</button>
...
</div>
</template>
<script>
import 'firebase/messaging'