使用Jam.js、require.js和node-webkit而不产生冲突

6
我目前正在编写一个 Web 应用程序,稍后打算使用 node-webkit 部署。我希望尽可能少地使用 node.js,这样在不必重写大部分代码的情况下就可以轻松地部署到 Web 上。
我正在使用 Jam.js 作为包管理器。显然,node.js 的 require 和 require.js 的 require 存在冲突的问题。使用 requirejs 替代 require 似乎是一个很好的选择。然而,Jam.js 编译 require.config.js 文件时会使用 require(而不是 requirejs)。
目前,我必须执行 window.require = undefined; 才能使 Jam.js 的 require.js 在 node-webkit 中工作。 有没有办法让 Jam.js 使用 requirejs 编译 require.config.js 文件? 或者是否有其他解决方案可以让我同时使用 Jam.js 和 node.js 的 require,而不必像执行 window.require = undefined; 这样的操作?我发现在 node-webkit FAQ 中提供的解决方案并不令人满意。
感谢您的帮助!
1个回答

3

这个链接可能有用。谢谢! - Macks
@Macks和JFelton,你们的durandljs.com链接已经失效了。如果内容在其他地方存在,我们能否将其更新为可用的链接? - jamesmortensen
1
@jmort253 我不确定如何更新我的评论,但这似乎是文章的新网址:http://durandaljs.com/documentation/Native-Apps-With-Node-Webkit.html 如果我能回到过去,我会使用CommonJS模块编写我的应用程序。那将与node/node-webkit完美地配合,并且我可以使用Browserify轻松地将它们编译为Web应用程序。 - Macks
@Macks - 有趣...我之前认为把东西包装在模块中会让我被绑定在 Node/node-webkit 平台上,所以我开始只是使用脚本标签,这样应该也兼容 Web 和 node-webkit,除非我漏掉了什么? - jamesmortensen
1
@jmort253:将代码封装在模块中并不会将您绑定到node,因为您可以使用Browserify将模块化项目编译为web。无论如何,Browserify似乎是前端web开发的新趋势,所以如果您还没有尝试过,请一定要了解一下。使用脚本标记会带来许多问题,如http请求、全局变量、命名空间、手动按照正确顺序插入这些标记、必须显式地进行拼接/缩小等等。同时,使用脚本标记还将您绑定到web- 如果您使用全局变量,则无法在node中使用这些脚本文件。 - Macks
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接