LoginSignup
0
0

More than 3 years have passed since last update.

Angularでcsvライブラリを扱うのための初期手順

Last updated at Posted at 2020-03-11

はじめに

Angular上でCSVファイルをややり取りするために csvライブラリを使用するための手順がいささか面倒だったので、手順をまとめました。

確認環境

以下の環境で動作確認を行いました。

  • angular 9.0.5
  • csv 5.3.2
  • buffer-browserify 0.2.5
  • next-tick 1.1.0

手順

以下、ファイルパスはAngularプロジェクト直下をカレントとします。

コマンドライン

npm i -S csv next-tick buffer-browserify
npm i -D @types/next-tick

ソースの変更

tsconfig.app.json(修正部分のみ)
{
(略)
  "compilerOptions": {
    "types": ["node"]
(略)
  "paths": {
    "buffer/*": ["node_modules/buffer-browserify/*"]
  }
(略)
}
src/polyfills.ts(追加のみ)
前略
// for 'csv'
(window as any).global = window;
global.Buffer = global.Buffer || require('buffer').Buffer;
(window as any).process = {
  env: { DEBUG: undefined },
  nextTick: require('next-tick'),
  version: ''
};

なにをしているのか

Angular(6+)ではglobal変数が存在しないようなので、コード上で作成しています。processプロパティなども同様です。

そしてcsvライブラリがもともとnode.js用のライブラリであり、ウェブブラウザでは存在しないオブジェクト(具体的にはBuffer)を使用していました。tsconfigのpathsでbrowserifyライブラリを参照するようにして対応しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0