我正在寫一個DSL「一切」,我想把一切從所需的模塊到當前的命名空間,以便能夠寫出這樣的事情需要來自Node.js的模塊
// I know it's not working.
// In python, I'd do: from mydsl import *
{*} = require('./mydsl');
node('London');
node('Paris');
edge('London', 'Paris');
這裏有一些版本我想作爲一種解決方法
// In python: import mydsl as dsl
dsl = require('./mydsl');
dsl.node('London');
// In python: from mydsl import node, edge
{node, edge} = require('./mydsl');
node('London');
// Extend `this` with imported functions
_ = require('underscore');
_.extend(this, require('./mydsl'));
this.node('London');
因爲我的DSL有很多關鍵字,使用{node,edge,...} = require
將會十分笨拙。我更喜歡可以通過browserify移植到網絡上的解決方案。
downvoter,請留下你的理由評論 –