クライアントサイドとサーバサイドの両方で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"