gulp入門(gulp 或者 npm run xxx來執行),個人覺得和直接用node.js寫區別不大

1)安裝gulp  參考:https://www.gulpjs.com.cn/

sudo npm install gulp-cli -g --unsafe-perm=true --allow-root
sudo npm install gulp -D --unsafe-perm=true --allow-root
sudo npx -p touch nodetouch gulpfile.js --unsafe-perm=true --allow-root
gulp --help

2)創建工程

安裝 gulp 命令行工具
npm install --global gulp-cli

創建項目目錄並進入
npx mkdirp my-project
cd my-project

在項目目錄下創建 package.json 文件
npm init

安裝 gulp,作爲開發時依賴項
npm install --save-dev gulp

檢查 gulp 版本
gulp --version

3)實現邏輯功能

➜  my-project tree
.
|____readfile.js
|____package-lock.json
|____package.json
|____gulpfile.js
|____.idea

當然了node_modules也是存在的

4)實現如下
|____readfile.js

let fs = require("fs");
let path = require("path")

async function asyncAwaitTask() {
    let str = await fs.readFileSync(path.join(__dirname, "package.json")).toString();
    let obj = JSON.parse(str);
    console.log(obj.version);
    return new Promise(function (resolve, reject) {
        resolve("read file version done");
    });
}

module.exports = {
    asyncAwaitTask: asyncAwaitTask,
};

|____package-lock.json
|____package.json

{
  "name": "my-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "deploy": "gulp"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "gulp": "^4.0.2"
  }
}

|____gulpfile.js

let readfile = require("./readfile");

async function defaultTask(cb) {
    let str = await readfile.asyncAwaitTask();
    console.log(str)
    cb();
}

exports.default = defaultTask;

5)運行

➜  my-project gulp
[14:53:55] Using gulpfile ~/Desktop/my-project/gulpfile.js
[14:53:55] Starting 'default'...
1.0.0
read file version done
[14:53:55] Finished 'default' after 2.56 ms

或者用npm執行

➜  my-project npm run deploy

> [email protected] deploy /Users/jianan/Desktop/my-project
> gulp

[15:00:26] Using gulpfile ~/Desktop/my-project/gulpfile.js
[15:00:26] Starting 'default'...
1.0.0
read file version done
[15:00:26] Finished 'default' after 1.84 ms

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章