nvm-windowsでNode.jsのバージョン管理をする
npm自体のアップデートはnpm install -g npm
でできるが,
Node.js自体のアップデートができないようなのでバージョン管理ツールnvm-windows(nvmコマンド)を導入する.
環境
- Windows10
npm自体のアップデートはnpm install -g npm
でできるが,
Node.js自体のアップデートができないようなのでバージョン管理ツールnvm-windows(nvmコマンド)を導入する.
2019年3月時点でのNode.js・ブラウザ環境での分割ファイル読み込み(require, import/export)についてのメモ.
結論:
開発側ではESM(import
)を利用してコードを書いて管理.
ただし,全ブラウザでESMは使えない.
babelでNode.jsが扱えるrequire
に統一.
webpackなどのバンドラで依存関係を解決して1つのjsファイルにまとめる.
htmlはそのjsファイルをscript
タグで読み込む.
※python 3.7時点での方法,今後のアップデートで変わる可能性あり.
unittestがうまく動作しなかったときの対処メモ(大体パス通せば解決するはず). 今回はパスを通さず手っ取り早くテストできる状態にする.
以下のファイル構成とする.
project/ test_target.py test/ test_1.py \__init__.py
ポイントとしては, - テストパッケージが名前空間パッケージ(namespace package)になっていない(init.pyがあるか) - テストファイルを単体実行する場合,テスト対象モジュールのパスが見えるか
解決早見表
trouble | solve |
---|---|
module = __import__(module_name) ModuleNotFoundError: No module named 'test.test_1' | 使用コマンドが名前空間パッケージに対応していないので__init__.py を追加する |
import test_target ModuleNotFoundError: No module named 'test_target' | (親にある)テスト対象モジュールを読めていないのでsys.path.append() でパスを追加 or python unittest -m でunittestをモジュール呼び出しスクリプト実行する. |
はてな公式のBoilerPlateテーマを例にした作成方法を見たところ, npmをバリバリ使った開発者向けに作られていたのでメモ.
AtomでES6,ES7からES5に自動トランスパイル(transpile)する環境を作る.
参考記事: medium.com
Atomエディタ,Node.jsはインストールされている前提で進める.
language-babelの注意点としては, このパッケージが担当する処理はbabel-cliに該当する部分だけなので,トランスパイルに必要なプリセットなどのファイルは通常通りnpmでインストールする必要がある.
実際にBabelを試した記事はこちら