对于那些没有与soma.js
合作的人来说,它是一个微框架,它带有2个核心文件 - soma.js
和soma-template.js
。他们都在npm
,所以在我的项目中,我使用html
和var soma = require('soma.js');
soma.template = require('soma-template');
页面中对cdn网址进行硬编码
然而,这并没有奏效。所以我开始挖掘并发现soma-template npm module source code
看起来像这样:
(function(soma){
// code here
}(this['soma'] = this['soma'] || {}));
如果我将this
更改为window
,那么一切正常。但是,在理想的世界中,我不想在npm模块源代码中查找,我宁愿在app.js
主入口点以某种方式配置它。
我觉得我需要将soma
变量的当前范围传递给它,但我不知道该怎么做..
非常感谢任何帮助。
答案 0 :(得分:0)
所以我浏览了所有的源代码,最终设法解决了这个问题。如果有人有同样的问题,我通过执行以下操作来修复它:
var soma = require('soma.js'),
template = require('soma-template');
soma.plugins.add(template.Plugin);