發表文章

目前顯示的是 1月, 2020的文章

Visual Studio + TypeScript + Jest 專案要Publish 到 NPM 除雷教學 一步一步

圖片
最近我把 Nodejs 專案轉成 TypeScript,發現原本的步驟都要做些修改阿 這邊紀錄一下我除雷的過程 tsconfig.json 修改 如果在  /tsconfig.json  不存在這個檔案 請建立. 修改資料如下 { "compilerOptions" : { "module" : "commonjs" , "target" : "es6" , "declaration" : true , "outDir" : "./lib" , "lib" : [ "es6" ], "sourceMap" : true }, "exclude" : [ "node_modules" , "**/__tests__/*" , "lib" ] } Visual Studio Project Properties 記得 startuo file 要修改成 lib/<啟動的檔名>.ts   這樣才能啟動 Jest Config 安裝  npm install --save-dev jest ts-jest @types/jest 創立 jestconfig.json 內容如下. { "transform" : { "^.+\\.(t|j)sx?$" : "ts-jest" }, "testRegex" : "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$" , "moduleFileExtensions" : [ "ts" , "tsx" , "js" , "js

visual studio Typescript nodejs 下使用 Unit Test debugger 中斷點要如何使用

圖片
首先還是要先安裝Unit Test 的 framework 這邊已 mocha 為例 $ npm install mocha --save-dev $ npm install chai --save-dev $ npm install @types/mocha --save-dev 修改專案中的Properties A. 修改指定的 Unit Test Framework B. Unit Test Script 的資料夾目錄 修改Unit Test 檔案的 Properties 修改 Test Script的Properties 修改內容 A. 選擇 TypeScriptCompile B. 選擇 True ** C. 最重要了這裡不能用選的要用打的,記得打你的Unit Test Framework!! **. 執行 打開 Task Explore Test>Test Explorer 確定腳本都有正常找到 運行 debug Test !! 恭喜可以用中斷點了

[Javascript] call 多年的誤區總算今天踩了 call 呼叫 this 直接 TypeError: Cannot read property

Call 的官網 https://www.w3schools.com/js/js_function_call.asp 但是好巧不巧今天使用以下方法直接給你爆錯 // index.js var obj={ actionName : "qq" , testCall : function ( b ) { console .log( this .actionName+ " " +b); // } } obj.testCall.call( null , 22 ); 錯誤訊息:  TypeError: Cannot read property 'actionName' of undefined 解決辦法: // index.js var obj={ actionName : "qq" , testCall : function ( b ) { console .log( this .actionName+ " " +b); // } } obj.testCall.call(obj, 22 ); 就是要把call 的參數中的第一參數帶入, 因為第一個參數是 this 原理 因為在一般OO中視絕對不能這樣寫的 this=SomeVale; 但是Javascript 是允許你換掉... this / super ...

[Nodejs] NPM 想要deploy模組到NPM repository時 發生錯誤 You do not have permission to publish XXXX

今天想說把寫好的 nodejs module deploy 到 NPM 結果就報錯了 ,從錯誤訊息中完全誤會意思了XD PS 如何上傳NPM 可以參考這一篇   https://blog.toright.com/posts/4874/%E5%A6%82%E4%BD%95%E7%99%BC%E4%BD%88%E4%BD%A0%E7%9A%84%E3%80%8C%E5%8C%85%E3%80%8D%E5%88%B0-npm-repository.html 好了進入正題  當輸入指令 npm publish 結果就throw some error : npm ERR! code E403 npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/bazooka - You do not have permission to publish "bazooka". Are you logged in as the correct user? npm ERR! 403 In most cases, you or one of your dependencies are requesting npm ERR! 403 a package version that is forbidden by your security policy. npm ERR! A complete log of this run can be found in: npm ERR!     那麼起初以為是登入 add User 有問題,結果其實是專案名稱與其他人衝突了,去 package.json 去修改其中 name value , and try again , 如果再發生一樣的錯誤,可以先去 search npm , 是否有重複的 NPM module