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