顯示具有 Plugins 標籤的文章。 顯示所有文章
顯示具有 Plugins 標籤的文章。 顯示所有文章

2022年1月23日 星期日

webpack 常用 plugin 介紹 - HtmlWebpackPlugin 自動產生 Html


根據「[Vue.js] 如何建立 Vue3 + webpack5 專案範例」的內容,封裝時已經先建立目錄 dist/ ,新增 index.html,預先將 main.js 加到 script 中。

接著,以下要介紹 HtmlWebpackPlugin ,這個 webpack plugin 可以自動產生 Html,並自動將所有的 js 檔加入 script 中。下面的操作會用 [vue3-webpack5-template] 這個專案操作,可以先 clone下來並 npm install。

一、安裝
npm install html-webpack-plugin --save-dev


二、新增模板

新增 index.html ,並保留一些區域方便我們可以自訂。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>
            <%= htmlWebpackPlugin.options.title %>
        </title>
    </head>
    <body>
        <div id="<%= id %>"></div>
    </body>
</html>


三、新增 Webpack 設定

為了突顯 HtmlWebpackPlugin 功能的強大,首先刻意將輸出的 js 檔案名稱改為 [name].[contenthash].js,這時變得無法預期編譯後的檔案名稱。

再來將 HtmlWebpackPlugin 加入 plugin,完整檔案請點連結

// webpack.config.js
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  output: {
    filename: '[name].[contenthash].js',
    path: path.resolve(__dirname, 'dist'),
  },

  ...

  plugins: [
    new HtmlWebpackPlugin({
      template: 'template/index.html',
      title: 'Getting Started',
      templateParameters: {
        id: 'app',
      },
    }),
  ],
};

上面共使用了三個參數:

1. template - 顧名思義是模板的路徑
2. title - html 檔案的 <title>
也說明為什麼在 index.html 有這一段

<%= htmlWebpackPlugin.options.title %>

3. templateParameters - 這裡傳入一個物件,將 id 訂為 app,因此模板這段程式碼,將會使用這裡的設定複寫

<div id="<%= id %>"></div>

若要了解更多參數的使用,可以參考文件



四、執行

執行下面的指令開始打包

npm run build

程式碼已經 push 到分支test-webpack-plugin,或者參考變更可以按這裡


2021年8月14日 星期六

Html 轉 Figma 的小工具 Figma Plugin匯入現有網站


Figma 如何匯入現有網站,可以使用 Figma to HTML, CSS, React & more! 快速解決!

可以先安裝 google chrome 的擴充功能、Figma的擴充功能,再到網站使用 google chrome 的擴充功能匯出 Json,並到 Figma 將檔案匯入。

成果雖然會和實際網站有些差別,但很方便。


Figma的擴充功能
https://www.figma.com/community/plugin/747985167520967365/Figma-to-HTML%2C-CSS%2C-React-%26-more!

google chrome 的擴充功能
https://chrome.google.com/webstore/detail/html-to-figma/efjcmgblfpkhbjpkpopkgeomfkokpaim


操作方式:



2021年8月8日 星期日

webpack5 安裝及基礎教學

根據維基百科:「Webpack 是一個開源的前端打包工具。Webpack 提供了前端開發缺乏的模組化開發方式,將各種靜態資源視為模組,並從它生成優化過的程式碼。」,使用前必須安裝 Node.js。

webpack 從版本4.0.0開始,可以不需要設定設定檔(webpack.config.js),設定檔最基本的設定分別是:EntryOutput,前者代表 webpack 必須從哪邊開始進行打包,後者則是定義封裝輸出的路徑以及檔案名稱。


以下參考官網簡單的範例,執行前請先安裝 Node.js,可以參考「安裝node js」替換成需要的版本。

一、安裝

請先新增一個專案目錄,並安裝 webpackwebpack-cli

mkdir webpack-demo
cd webpack-demo>
cd webpack-demo>
npm init -y>
npm install webpack webpack-cli --save-dev

此時目錄內應該會多一個 package.jsonnode_module/


二、新增Entry module

新增目錄 src/,以及檔案 index.js

const element = document.createElement('div');

element.innerHTML = 'Hello World!';

document.body.appendChild(component());

三、新增Output

新增目錄 dist/,以及檔案 index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Getting Started</title>
  </head>
  <body>
    <script src="main.js"></script>
  </body>
</html>

此時的專案架構應該會像是:

webpack-demo
 |- package.json
 |- /dist
   |- index.html
 |- /src
   |- index.js

四、執行

執行下面的指令開始打包

npx webpack


完成後會發現目錄 dist/ 下多了一個檔案 main.js,此時可以開啟 index.html ,看到 Hello World! 就代表打包成功囉!


在沒有設定檔的情況下,webpack預設會尋找檔名 src 或是目錄 src/ 底下的 index,並將打包好的檔案放到目錄 dist/ 底下,預設檔名是 main.js,等同於:

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist'),
  },
;

可以透過指令來指定設定檔的路徑及名稱:

npx webpack --config webpack.config.js

範例還未使用LoaderPlugin等功能,在這個範例還未使用 css/image,也可以透過 Loader設定處理,webpack可以處理Javascript、Json,安裝loader可以讓webpack處理更多類型的檔案。另外在這個範例裡手動新增 index.html ,其實也可以透過相關的 Plugin 自動產生。

其他進階設定的功能可以參考 https://webpack.js.org/guides/getting-started/ 了解更多。



2020年5月26日 星期二

Asciidoctor + VS Code安裝外掛套件快速開發、預覽功能


一、安裝套件
方法一
(1) 按快捷鍵 [ctrl] + [P]
(2) 輸入下面的指令:
ext install joaompinto.asciidoctor-vscode
(3) 按 [Enter] 送出



方法二
(1) [View] → [Extensions]


(2) 搜尋「AsciiDoc joaompinto」,找到後按綠色按鈕 Install




二、使用方式
打開AsciiDoc的檔案(.adoc, .ad, .asc, .asciidoc),按下快捷鍵 [ctrl]+[shift]+[v]




三、輸出HTML
快捷鍵 [ctrl]+[alt]+[s],自動在同一個目錄下產生相同檔名的 html 檔案。

參考資料:https://github.com/asciidoctor/asciidoctor-vscode