- 需要先安裝 node.js,官方下載位置:https://nodejs.org/en/
- 安裝完成後,透過指令更新 npm 到最新版
npm i -g npm
新增一個資料夾,在該資料夾內執行指令,建立 npm 專案:
npm init -f
資料夾內會多出 package.json
的檔案。
npm i -D webpack webpack-cli
npm i -D node-sass sass-loader css-loader mini-css-extract-plugin
安裝完成後 package.json
大概會長這樣:
{
"name": "sass-sample",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
在專案資料夾中新增 webpack.config.js
// 載入轉存 css 檔案的套件
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
var config = {
entry: {
// 指定進入點並設定名稱及來源
// "名稱":"來源 scss or sass 檔案"
"output-sample": "./scss/sample.scss"
},
module: {
rules: [{
test: /\.(scss|sass)$/,
use: [
// 需要用到的 loader
MiniCssExtractPlugin.loader,
"css-loader",
"sass-loader"
]
}]
},
plugins: [
new MiniCssExtractPlugin({
// 指定輸出位置
// [name] 為上方進入點設定的 "名稱"
filename: "./css/[name].css"
})
]
};
module.exports = config;
在 package.json
中找到 scripts 區塊,新增一個 build 的指令:
{
// ..
"scripts": {
// "自訂的指令名稱": "指令的內容"
"build": "webpack --config webpack.config.js"
},
// ..
}
存檔後就可以使用指令 npm run build
告知 Webpack 套用 webpack.config.js
內定義的方式打包。
執行完成後,專案資料夾底下會多出 dist
資料夾,輸出的 *.css 檔案會在這裡面。
照此範例的設定,輸出檔案架構如下:
dist/
css/
output-sample.css
output-sample.js
*.js
無須理會