Electron: 使用 requireJS 加载 javascripts 文件的问题

创建于 2014-05-26  ·  3评论  ·  资料来源: electron/electron

我已经在一个项目上工作了几个月,我想使用 Atom 来嵌入应用程序。 该项目使用 requireJS,我从未在 web 版本甚至 node-webkit 构建上遇到脚本加载问题,但是,使用 Atom,脚本无法正确加载。

我做了一个小例子来说明这个问题。 这是一个mac版本。
https://github.com/cniaulin/loading-issue

克隆 repo,启动 Atom.app。 查看是否定义了时刻,如果是 cmd + r,您会发现并非总是如此。
您可以使用 cmd + alt + i 显示控制台
文件位于此处:Atom.app/Contents/Resources/app/

有没有人有解决方案或解决方法?

最有用的评论

@cniaulin一种解决方法是通过在加载require.js之前将其重命名为其他内容来释放require变量,如下所示:

<script>
  if (window.require) {
    window.nodeRequire = window.require;
    delete window.require;
  }
</script>

您需要在要调用 Node.js 版本的require $ 的任何地方调用nodeRequire $#$ 。

所有3条评论

嗨,我对 requireJs 的了解是它们有类似的 require 方法与节点冲突,尝试使用 requirejs 作为替代方法。

最佳实践:使用 npm 将仅限 Node 的包/模块安装到项目 node_modules 目录中,但不要将 RequireJS 配置为查看 node_modules 目录内部。 还要避免使用相对模块 ID 来引用仅节点模块的模块。 所以,不要做类似 require("./node_modules/foo/foo") 的事情。

进一步寻找http://requirejs.org/docs/node.html

@cniaulin一种解决方法是通过在加载require.js之前将其重命名为其他内容来释放require变量,如下所示:

<script>
  if (window.require) {
    window.nodeRequire = window.require;
    delete window.require;
  }
</script>

您需要在要调用 Node.js 版本的require $ 的任何地方调用nodeRequire $#$ 。

我正在关闭它,因为没有计划在 atom-shell 中支持 requireJS。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

EladBezalel picture EladBezalel  ·  3评论

diracdeltas picture diracdeltas  ·  3评论

dangan-ronpa picture dangan-ronpa  ·  3评论

DanielDignam picture DanielDignam  ·  3评论

reggi picture reggi  ·  3评论