svelte, ts, tailwindアプリ環境を最速で作りたくなった時に叩くコマンド
- command
npx degit sveltejs/template ${project_name} yarn install node scripts/setupTypeScript.js yarn add svelte-check yarn svelte-check yarn add tailwindcss@latest postcss@latest autoprefixer@latest yarn add svelte-preprocess npx tailwindcss init
- tailwind.config.js
const production = !process.env.ROLLUP_WATCH; // Add module.exports = { // Add from here purge: { content: [ './src/**/*.svelte', './src/**/*.html', ], enabled: production, // disable purge in dev }, // Add to here };
- rollup.config.js
import sveltePreprocess from 'svelte-preprocess'; // Add // 中略 export default { plugins: [ svelte({ // Add from here preprocess: sveltePreprocess({ sourceMap: !production, postcss: { plugins: [ require('tailwindcss'), require('autoprefixer'), ], }, }), // Add to here // 中略 };
yarn run dev
無名関数の中でdeferを呼んだ時の動作の検証
- Code
package main import ( "fmt" "errors" ) func main() { fmt.Println("---- main start ----") var err error defer func() { fmt.Println("---- main defer start ----") if err != nil { fmt.Println("--> err in main defer") fmt.Println(err) } fmt.Println("---- main defer end ----") }() anonymous := func() (err error) { defer func() { fmt.Println("---- anonymous defer start ----") if err != nil { fmt.Println(err) } fmt.Println("---- anonymous defer end ----") }() fmt.Println("---- anonymous start ----") err = errors.New("anonymous error occured") return } err = noname() fmt.Println("---- main end ----") }
- Result
---- main start ---- ---- anonymous start ---- ---- anonymous defer start ---- anonymous error occured ---- anonymous defer end ---- ---- main end ---- ---- main defer start ---- --> err in main defer anonymous error occured ---- main defer end ----