npm 和 模塊化

// shift + 鼠標右鍵 在文件夾中可快捷打開 cmd
        // clear 清除
        //  node.js中規定一個JavaScript文件就是一個模塊 模塊內定義的變量和函數外部沒法獲得
        //模塊內部 使用exports對象進行成員導出 使用require方法導入其餘模塊
        // node.js本質上是模塊化的依賴開發
        //  1.模塊成員的導入 第一種方式

        //a.js
        //模塊內定義變量
        let version = 1.0;
        //模塊內定義方法
        const sayHi = name => '您好,${name}';
        // 向模塊外導出數據
        exports.versions = version;
        exports.sayHis = sayHi;

        //b.js
        // 在b.js模塊中導入模塊a
        let c = require('./a.js'); //定義一個變量接收require的返回值 返回導入模塊的對象
        //輸出b模塊中的versions變量
        console.log(c.versions);
        //調用b模塊中的sayHis方法 並輸出其返回值
        console.log(c.sayHis('你屬豬嗎'));

        // 導入模塊時 後綴.js能夠省略


        // 2.模塊成員導入第二種方式
        module.exports = name;
        module.exports.versions = version;
        module.exports.sayHis = sayHi;
        //export.js文件
        const greeting = name => `hello ${name}`;
        module.exports.functionnames = greeting;


        //require.js文件
        const a = require('require.js')
        console.log(a.functionnames('張三'));

        // exports是module.exports的別名(地址引用關係) 導出對象以module.exports爲準


    //   1、系統模塊
        // 3.系統模塊 : node運行環境提供的API就是系統模塊
        //  文件模塊 之  fs模塊 f:file文件 s:system系統
        var fs = require('fs');
        fs.readFile('文件路徑/文件名', ['文件編碼'], callback);
        // callback經過函數參數返回獲取文件讀取結果
        fs.readFile('文件路徑/文件名', 'utf-8', (err, doc) => {
            if (err == null) {
                // 說明獲取文件成功 err是一個對象 包含錯誤信息 doc 文件內容
            }
        })
        fs.writeFile('文件路徑/文件名', '數據', callback); //向目標文件內寫入內容
        
        var fs = require('fs')
        var content = '寫入你想寫入的內容'
        fs.writeFile('文件路徑/文件名', content, err => {
            if (err != null) {
                // 則說明寫入文件失敗
            }
        })

        // 4.系統模塊path模塊   之路徑操做 由於不一樣操做系統路徑分隔符不一致 因此須要路徑拼接
        // windows    /和\
        // linux      /
        path.join('路徑1','路徑2',...)

        // 導入path模塊
        const paths = require('path');
        //路徑拼接
        let finalPath = paths.join('homework','node','node.js')
        //輸出 homework\node\node.js

        // 相對路徑和絕對路徑




        // 2、第三方模塊
        // 別人寫好的 具備特定功能的 能直接使用的 模塊
        //npmjs.com存儲第三方模塊的網站   npm 是Node的第三方模塊管理工具
        // 獲取第三方模塊文件夾    npm i formidable
        // 刪除第三方模塊文件夾 npm uninstall formidable
        //本地安裝 當前文件夾使用安裝好的模塊 全局安裝 全部文件夾共享


        // 第三方模塊之 nodemon 修改文件夾後 不須要在命令行再執行操做 能夠直接看到修改後的效果
        //nrm 是npm下載地址切換工具  切換是由於npm官網在國外  數據下載慢  切換到國內的服務器 
        // 下載nrm npm i nrm -g
        //查詢可用下載地址列表 命令 nrm ls
        //切換npm下載地址 nrm use 下載地址名稱



        // 第三方模塊之  gulp :基於Node平臺開發的前端構建工具
        // gulp 功能:
        // 項目上線 HTML CSS JS文件壓縮
        //ES6語法轉換成ES5
        //less語法轉換成CSS語法
        //公共文件的抽取 便於修改開發
        //修改文件後 瀏覽器自動刷新
        // 下載命令 npm i gulp   沒有全局安裝只有本地安裝


        // gulp使用
        //npm i gulp 下載gulp庫文件
        //在項目根目錄下創建gulpfile.js
        //重構項目的文件夾結構 src目錄放置源代碼文件    dist目錄放置重建後的文件
        // 在gulpfile.js文件中編寫任務
        //命令行工具中執行gulp任務
        


        //gulp中的API
        gulp.src()//獲取任務要處理的文件
        gulp.dest()//輸出文件
        gulp.task()//創建gulp任務
        gulp.watch()//監控文件變化


        // 引用gulp模塊
        const gulps = require('gulp');
        //使用gulp.task()方法創建任務
        gulp.task('任務名稱',() =>{
         //獲取要處理的文件
         gulp.src('路徑/文件名');
        //將處理後的文件輸出到存放處理後的文件夾裏
        .pipe(gulp.dest('路徑/文件名'))
        })
        
相關文章
相關標籤/搜索