スキップしてメイン コンテンツに移動

投稿

Firebase Toolsコマンドが実行ポリシーの設定が原因で実行できない問題の解決法

Firebase ToolsをインストールしてWindows PowerShell上からfirebaseコマンドを実行したのですが、下記の実行ポリシー関連のエラーが発生して正常に実行できませんでした。 PS C:\\Users\\user > firebase firebase : File C:\\Users\\user\\AppData\\Roaming\\npm\\firebase.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID = 135170. At line:1 char:1 + firebase + ~~~~~~~~ + CategoryInfo : SecurityError: ( : ) [ ] , PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess このあたりを参考に https://tecadmin.net/powershell-running-scripts-is-disabled-system/ 、管理者(Administrator)権限でPowerShellを開き、下記のコマンドを実行して解決しました。 PS C:\\Users\\user > Set-ExecutionPolicy RemoteSigned

Webのフロント側でもとのfirebaseの初期設定をコピーして新しいfirebaseインスタンスを作成する方法

frontendのWeb側で、 firebase.app().options を利用して、もとのfirebaseインスタンスと同じ設定のインスタンスを作成する方法の紹介です。 firebase.app().options の中身をJSON形式で表示させると、下記のように、firebaseのインスタンスの初期化時のoptionsが取得できます。 { "projectId" : "project_id" , "appId" : "1:XXXXXXXXXXXX:web:XXXXXXXXXXXXXXXXXXX" , "storageBucket" : "project_id.appspot.com" , "locationId" : "asia-northeast1" , "apiKey" : "XXXXXXXXXXXXXXXXXXXXXX" , "authDomain" : "project_id.firebaseapp.com" , "messagingSenderId" : "11111111111111" , "measurementId" : "G-XXXXXXXX" } この firebase.app().options をそのままfirebase.initializeAppの引数に渡すことで、もとのfirebaseインスタンスと同じ設定のインスタンスを作成することができます。 const newFirebase = firebase . initializeApp ( firebase . app ( ) . options , 'newFirebaseApp' ) ;

WindowsとWSLから相互にファイルにアクセスする方法

WindowsからWSL上のLinuxシステム、WSL上のLinuxシステムからWindows上のファイルにアクセスする方法を紹介します。 * WindowsからWSL上のファイルにアクセスする方法 エクスプローラー上で \\wsl$ と入力すればOKです。WSL上のシステムが起動していれば、下記のようにエクスプローラー内にドライブが表示されます。 * WSL上にセットアップしたLinuxからWindowsのドライブにアクセスする方法 WindowsのCドライブは、Linux上の /mnt/c/ にマウントされています。LinuxのShellから、 /mnt/c にアクセスすればOKです。

FirebaseのEmulatorを利用する際にJavaをインストール

Firebaseのエミュレータ起動に失敗 Windows環境で firebase emulators:start コマンドを実行してFirebaseのエミュレータを起動しようとしたところ、下記のようなエラーが発生しました。 i firestore: Firestore Emulator logging to firestore-debug.logosting ! firestore: Fatal error occurred: s are not running, calls to these services from the Functions emulator will affect p Firestore Emulator has exited because java is not installed, you can install it from https://openjdk.java.net/install/, Your requested "node" version "10" doesn't match your global version "14" stopping all running emulatorsirestore-emulator-v1.11.15.jar... i functions: Stopping Functions Emulator i firestore: Stopping Firestore Emulator ! firestore: Error stopping Firestore Emulator 解決法 Javaがインストールされていないとのエラーメッセージなので、 AdoptOpenJDK をインストールします。この記事を書いている時点でのLTSのJava 11をインストールして無事起動するようになりました。

eslintのエラー「describe is not defined when installing jest」の解消法

Jestでテストを書く際にdescribe functionを使うと、describe functionが定義されていないので「‘describe’ is not defined.(no-undef)」というeslintのエラーが出ることがありますが、eslint.jsに下記の設定を追加すれば解消します。 "env" : { "jest" : true } 同様にmocha関連のfuncionを使用した際にも「‘xxxxxx’ is not defined.(no-undef)」などが出ることがありますが、これも "env" : { "mocha" : true } と追記すれば解消します。

Windowsでnvmを使う方法

複数のNode.jsのバージョンを管理するソフトウェアとしては、下記のようなものがあります。 nvm (Node Version Manager) nodebrew nodenv 本記事ではWindowsでnvmの使い方を解説します。 NVMの主なコマンド一覧 いずれもWindowsでは管理者権限でPowerShellやコマンドプロンプトを実行するのが無難です。 nvm list available インストール可能なNode.jsのバージョン一覧を出力。 nvm install {version} {version}で指定したNode.jsをインストール。 nvm ls 現在インストールされているNode.jsのバージョン一覧を出力。 nvm use {version} {version}で指定したNode.jsに切り替え。

JavascriptのObject Literalを使った条件分岐

条件分岐を簡潔に書きたい! 条件分岐をする場合、通常はif~else文やswitch~case文を使うことが一般的ですが、Object Literalを活用すると簡潔にコードを書くことできる場合があります。Object Literalを利用するのは、ちょうどPHPのarray、JavaのMap、C#のDictionaryなどの連想配列を利用するイメージが近いと思います。 switch~case文とObject Literalを使った場合のコード例をいくつか示していきます。 switch~case文とローカル変数を使った場合 function GetStockCode_LocalVariable ( makerName ) { let code = "" ; switch ( makerName ) { case "Asus" : code = "2557" ; break ; case "MSI" : code = "2377" ; break ; default : throw new Error ( "unsupported maker: " + makerName ) ; } console . log ( code ) ; } 一般的な書き方ですが、下記の短所があります。 mutableなローカル変数のcodeを定義しなければならない。 switch~caseのキーワードやbreakキーワードが何度も出現し、重要な部分がわかりにくい switch~case文と即時実行関数式(Immediately Invoked Function Expression)を使った場合 function GetStockCode_IIFE ( makerName ) { const code = ( ( ) => { switch ( m