Sometimes I work on single web pages for my projects.
Maybe I want to redesign the blog. Maybe it’s a landing page for a new project.
This is the process I use.
I like to use Tailwind to build prototypes.
I set up all the pipeline for Tailwind and PostCSS first:
Create postcss.config.js
:
const purgecss = require('@fullhuman/postcss-purgecss')
const cssnano = require('cssnano')
module.exports = {
plugins: [
require('tailwindcss'),
require('autoprefixer'),
cssnano({ preset: 'default' }),
purgecss({
content: ['./layouts/ **/*.html', './src/** /*.vue', './src/**/*.jsx'],
defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || []
})
]
}
Create tailwind.config.js
:
module.exports = {
theme: {},
variants: {},
plugins: [],
}
Craete a tailwind.css
file:
@tailwind base;
@tailwind components;
@tailwind utilities;
Create a package.json
file:
{
"main": "index.js",
"scripts": {
"build:css": "postcss tailwind.css -o output.css",
"watch": "watch 'npm run build:css' ./layouts"
},
"dependencies": {
"@fullhuman/postcss-purgecss": "^1.3.0",
"autoprefixer": "^9.7.1",
"cssnano": "^4.1.10",
"postcss": "^7.0.21",
"tailwindcss": "^1.1.3",
"watch": "^1.0.2"
}
}
Create a layouts/index.html
page, and add your HTML.
Start a terminal shell, go to the project folder and run:
npm run watch
Then I make the browser automatically sync the changes every time I save the page or the CSS is regenerated, using browser-sync
, a great utility you can install using npm install -g browser-sync
:
browser-sync start --server --files "."
This starts a server and also automatically opens the browser and points at the newly created local web server.
Now I open VS Code and the browser side by side, and I start prototyping!
Top comments (2)
Big fan of your work! Good to see you on my favorite site with dev articles.
Thank you Michał! :)