カテゴリー
Parcelの導入方法 & Docker Alpineで開発環境の立ち上げる手順
※ 当ページには【広告/PR】を含む場合があります。
2020/08/22
webpack
Parcelをとりあえず使ってみる
node環境
$ node --version
v12.16.1
$ npm --version
6.13.4
$ yarn --version
1.22.0
Parcelのインストール
my-parcel
package.json
$ npm init -y
$ ls
package.json
{
"name": "my-parcel",
"version": "1.0.0",
"main": "index.js",
"license": "MIT"
}
parcel
$ npm install -g parcel-bundler
#もしくは
$ yarn global add parcel-bundler
$ yarn add parcel-bundler -D
$ parcel --version
1.12.4
$ parcel --help
Usage: parcel <command> [options]
Options:
-V, --version output the version number
-h, --help output usage information
Commands:
serve [options] [input...] starts a development server
watch [options] [input...] starts the bundler in watch mode
build [options] [input...] bundles for production
info Prints debugging information about the local environment
help [command] display help information for a command
Run `parcel help <command>` for more information on specific commands
Parcelの基本的な使い方
Hello world
$ touch index.js index.html
$ ls
package.json index.js index.html
index.html
<html>
<body>
<script src="./index.js"></script>
</body>
</html>
index.js
console.log('hello world');
$ parcel index.html
Server running at http://localhost:1234
✨ Built in 359ms.
http://localhost:1234
webpack.config.js
console.log('hello Parcel!!!!!!!!!!!');
parcel
parcel serve
dist
parcel serve
$ tree
.
├── dist
│ ├── app.e31bb0bc.js
│ ├── app.e31bb0bc.js.map
│ └── index.html
├── index.html
├── index.js
└── package.json
Productionモード
$ parcel build index.html --no-source-maps --no-content-hash index.js
✨ Built in 508ms.
dist/index.js 1.11 KB 247ms
dist/index.html 61 B 232ms
Done in 1.13s.
parcel build
--no-source-maps
--no-content-hash <バンドル後のjsファイル>
Docker Alpineで開発環境の立ち上げ
parcel
12.18-alpine3.12
Dockerfile
Dockerfile
FROM node:12.18-alpine3.12
ENV NODE_ENV development
WORKDIR /usr/src/app
#Install dependent packages
RUN apk update && apk upgrade && apk add --no-cache \
bash git openssh curl
#Installing npm packages
RUN npm i -g parcel-bundler
RUN npm i -g http-server
docker-compose.yml
docker-compose
docker-compose.yml
version: '3'
services:
app:
image: my-parcel:12.18-alpine3.12
build: .
user: 'node:node'
environment:
NODE_ENV: development
PARCEL_WORKERS: 1
ports:
- 1234:1234
- 8080:8080
- 35607:35607
volumes:
- ./:/usr/src/app
tty: true
app
my-parcel
12.18-alpine3.12
1234/8080/35607
parcel serve
http-server
lscpu
PARCEL_WORKERS
{
"name": "my-parcel",
"version": "0.0.1",
"main": "dist/index.js",
"scripts": {
"start": "rm -rf ./dist && parcel serve index.html --hmr-port 35607 --no-cache",
"build": "rm -rf ./dist && parcel build index.html --no-source-maps --no-content-hash index.js --no-cache",
"serve": "http-server ./dist -a 0.0.0.0 -p 8080 -c-1"
},
"license": "MIT"
}
yarn start
yarn build
yarn serve
$ tree
.
├── Dockerfile
├── dist
│ ├── index.html
│ └── index.js
├── docker-compose.yml
├── index.html
├── index.js
└── package.json
まとめ
Parcel
Parcel
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー