gpt4 book ai didi

angularjs - 使用 angularjs 和 pongular 共享客户端和服务器模块

转载 作者:太空宇宙 更新时间:2023-11-04 02:29:53 24 4
gpt4 key购买 nike

寻求 javascript 专家的建议——是否有更好(更简洁?更安全?)的方法来做到这一点?

我正在编写适用于 angularjs(客户端)和 pongular(服务器端)的 DI 语法的模块。

di = (typeof window!='undefined') && window.angular || require('pongular').pongular
di.module 'thecrewApp'

.factory 'fbRoot', ['fbUrl', 'Firebase', (fbUrl, Firebase)-> new Firebase(fbUrl)]

我的客户端 Angular 应用程序可以使用此注入(inject),我的服务器端 Node 应用程序也可以。我为客户端和服务器上使用的一堆可注入(inject)程序执行此操作。

有没有更好的表达方式?第一行,我根据 typeof 窗口选择要使用的 DI 引擎...感觉很hacky。

最佳答案

我能想到一些可能的解决方案:

  • 在共享文件中仅包含依赖项数组和函数调用(例如 module('moduleName').factory(["$http", function($http) { ... }]);),并使用预处理器用 angular.pongular. 包装文件。
  • 在一个环境中全局定义 Angular 或圆 Angular 。或者,全局定义一个返回正确引用的函数,例如

    // in the browser
    function require() { return angular; }

然后您的 require 代码将可以跨环境运行。

  • 研究使用 ES6 模块。

关于angularjs - 使用 angularjs 和 pongular 共享客户端和服务器模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27718823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com