TypeScript + webpack + npm + clasp로 GAS 개발
완성형
├ dist/
└ main.js (コンパイルされたjsファイル)
│ └ appsscript.json
├ src/ (開発を行うディレクトリ)
├ .clasp.json
├ package.json
├ tsconfig.json
├ webpack.config.js
├ yarn.lock
1. 패키지 설치
package.json 만들기
yarn init -y
필요한 패키지 설치
yarn add -D @google/clasp typescript ts-loader webpack webpack-cli gas-webpack-plugin cpx @types/google-apps-script @types/node
2. TypeScript 설정
tsconfig.json 만들기
yarn tsc --init
원하는대로 설정하십시오.
tsconfig.json
{
"compilerOptions": {
"sourceMap": true,
"target": "es5",
"module": "es2015",
"moduleResolution": "node"
}
}
3. webpack.config.js 만들기
webpack.config.js 파일을 작성하여 다음 코드를 복사
webpack.config.js
const path = require('path');
const GasPlugin = require('gas-webpack-plugin');
module.exports = {
entry: {
main: path.join(__dirname, 'src', 'main.ts')
},
output: {
filename: '[name].js',
path: path.join(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.ts$/,
use: 'ts-loader'
}
]
},
resolve: {
extensions: [
'.ts',
'.js'
]
},
plugins: [
new GasPlugin(),
]
};
4. clasp로 GAS 프로젝트 만들기
google에 로그인
브라우저가 열리므로 계정을 선택하고 로그인합니다.
yarn clasp login
프로젝트 만들기
이번에는
standalone
yarn clasp create [プロジェクト名]
? Create which script? (Use arrow keys)
❯ standalone
docs
sheets
slides
forms
webapp
api
.clasp.json 파일이 만들어지므로 편집
rootDir
에 루트 디렉토리 dist
.clasp.json
{
"scriptId":"[スクリプトID]",
"rootDir": "dist"
}
5. 개발
src
디렉터리에서 개발하기 src
디렉터리 만들기main.ts
파일을 작성해, 샘플 코드를 작성해 간다main.ts
declare var global: any;
global.doGet = () => {
return ContentService.createTextOutput('Hello World');
}
yarn의 build 및 deploy 명령 작성
package.json
{
"scripts": {
"build": "rimraf dist && webpack && cpx appsscript.json dist",
"deploy": "yarn build && clasp push"
}
}
gas에 deploy하기
yarn deploy
6. 공개
위의 코드를 웹 응용 프로그램으로 게시하면 이러한 느낌이 듭니다.
이상입니다.
Reference
이 문제에 관하여(TypeScript + webpack + npm + clasp로 GAS 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/IamK/items/b8b9c17df548d490b566텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)