Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 客户端模块工作流:(浏览器化&x2B;npm&x2B;gulp)或(RequireJS&x2B;Bower&x2B;gulp)?_Javascript_Node.js_Bower_Browserify_Commonjs - Fatal编程技术网

Javascript 客户端模块工作流:(浏览器化&x2B;npm&x2B;gulp)或(RequireJS&x2B;Bower&x2B;gulp)?

Javascript 客户端模块工作流:(浏览器化&x2B;npm&x2B;gulp)或(RequireJS&x2B;Bower&x2B;gulp)?,javascript,node.js,bower,browserify,commonjs,Javascript,Node.js,Bower,Browserify,Commonjs,我一直在为我当前的Node.JS Express项目研究不同的客户端Javascript模块工作流,我很难决定是使用Browserify+npm+gulp还是使用RequireJS+Bower+gulp 我更愿意使用CommonJS而不是AMD,因为我更喜欢语法,所以一方面我倾向于使用前一个选项。。。然而,我真的不喜欢为服务器和客户端共享相同的全局模块(如果我想使用不同的版本该怎么办),而且,我宁愿保持客户端依赖关系平坦,而不是像npm那样,所以我更喜欢Bower来管理我的模块。。。所以我陷入了

我一直在为我当前的Node.JS Express项目研究不同的客户端Javascript模块工作流,我很难决定是使用Browserify+npm+gulp还是使用RequireJS+Bower+gulp

我更愿意使用CommonJS而不是AMD,因为我更喜欢语法,所以一方面我倾向于使用前一个选项。。。然而,我真的不喜欢为服务器和客户端共享相同的全局模块(如果我想使用不同的版本该怎么办),而且,我宁愿保持客户端依赖关系平坦,而不是像npm那样,所以我更喜欢Bower来管理我的模块。。。所以我陷入了这个难题


有什么办法可以两全其美呢?Browserify垫片似乎与。。。对这件事有什么看法吗?

最后我选择了System.JS和jspm,我必须说它绝对解决了我所面临的所有问题,还有一些问题,完美无缺。我花了一段时间才最终发现,但我相信这将是很长一段时间的事实标准,因此我鼓励任何编写新项目的人都默认使用jspm

您可以获得AMD、Common.JS和ES6支持,您不会混合使用节点模块和客户端模块(node_包和jspm_包)以及平面依赖项。。。你还需要什么


谢谢你的建议

Webpack将能够为您自己的代码提供CommonJS模块,并且您可以通过AMD方式加载外部依赖项。这是一位非常好的经理。谢谢你给小费!我想我可以用这个。另外,我遇到了Duo,这似乎是另一个有趣的解决方案。稍后,当我找到一个满意的答案后,我会更新这个问题仔细查看每个选项的提交数量,因为它会告诉您解决方案有多成熟:Webpack有1481次提交,Browserify兜售2037次提交,Require.JS有1319次提交。这对搭档有70岁。值得思考。