クライアントサイドとサーバサイドの両方でJSのコードを使いたい場合、
Requirejsを使うが、以下のようなコードを書いたらcls.coffeeで
エラーが出た。
main.coffee
cls = require "./cls"
requirejs = require('requirejs')
requirejs.config
nodeRequire: require
baseUrl: __dirname + "/../../common"
paths:
Model: 'models/model'
cls.coffee
requirejs = require('requirejs')
model = requirejs "Model"原因はrequirejs.configの前にclsを読み込んでその中でrequirejsを使ってモジュールを読み込んでいること。
以下のようにrequirejs.configの後でcls.coffeeを読み込んだら直った。
requirejs = require('requirejs')
requirejs.config
nodeRequire: require
baseUrl: __dirname + "/../../common"
paths:
Model: 'models/model'
cls = require "./cls"