我想在我的Polymer / AngularJS应用程序中使用NodeJS库。为此,我的目标是在我想要使用的NodeJS模块上运行Browserify,然后在Polymer web组件和AngularJS控制器中引用它。据我所知,Browserify只是将require()
添加到全局命名空间,因此不应该有任何命名冲突。
我有什么遗漏或者这些技术会一起工作吗?
答案 0 :(得分:3)
Browserify适用于Polymer。我通常使用browserify的--standalone标志公开模块,然后集成为Polymer元素behavior。
答案 1 :(得分:0)
我找到了一种在webpack polymer-ext
中使用Polymer的方法如果你想使用聚合物进行浏览,也许你应该尝试相同的方式。
答案 2 :(得分:0)
另一方面,没有那么复杂的方法没有使用独立或行为,但可能更灵活,我已经定义了一个全局变量APP
。然后定义一个返回全局所需模块之一的get
函数。
例如
// in main index.html file before elements.html imported define global namespace
<script>
var APP = {};
</script>
制作测试模块
// services/test.js
module.exports = {
test: function(){
console.log('imt the test function');
}
}
然后在主js文件中。
// main js file
(function(APP) {
var globalModules = {
test: require('./services/test')
}
APP.get = function(moduleName){
return globalModules[moduleName];
}
})(APP);
然后在需要时可以在Polymer元素内部使用它,如
APP.get('test').test();
不确定这是否适合&#34;适当的&#34;这样做的方式,但它适用于我想要实现的目标,并可能帮助某人。