gpt4 book ai didi

javascript - 在 AngularJS 和 Nodejs 之间共享代码

转载 作者:IT老高 更新时间:2023-10-28 23:01:37 29 4
gpt4 key购买 nike

使用 javascript 在前端和后端之间共享代码的最佳方式是什么,特别是在 nodejsangularjs 之间?

问题是我们在后端和前端都使用了相同的 enumsconstant values,例如 error code。现在我们只是将每个更改复制并粘贴到两个平台,这不是一个好的解决方案。还有一些服务可以共享。

见过browserify等库;但这不正是我要找的。我正在寻找类似于 java 中的 maven dependency 的解决方案。在 java 中,可以使用 maven 轻松共享库,而在 javascript 中我找不到类似的方法。有没有办法隔离这些服务,并使用 npm 将它们作为对 nodejs 的依赖,以及使用 bowerangularjs 的依赖独立?或者前后端共享相同代码的方式有哪些?

最佳答案

有几种方法可以做到这一点。第一个是您可以通过 bower 为前端代码创建一个新包,并通过 npm 为后端代码创建一个新包。我有几个软件包发布到这两个系统。

Install with Bower -- 有关如何安装不在注册表中的模块的信息

NPM Install docs -- 使用 npm 安装的所有方式(带有 auth 的私有(private) github:git+ssh://git@github.com/[org]/[repo])

只需使用您的共享数据创建一个新模块,然后使用两个包管理器安装它。它们都允许您安装未发布的模块,因此如果它是私有(private)数据,您可以保留它。

如果你的前端需要 require.js 你可以使用类似 amdefine使其可用于您的 Node 后端,或者如果您只是使用旧版窗口代码,您可以执行以下操作:

var mydata = {};

if(typeof window !== 'undefined'){
window.mydata = mydata;
} else {
module.exports = mydata;
}

如果您要共享大量数据,但我强烈建议您研究 browserify 以在 commonjs 中编写您的整个代码库并使用 browserify 生成您的客户端包。有一个laundry list of resources关于使用 browserify,包括如何使用 use browserify and angular together

关于javascript - 在 AngularJS 和 Nodejs 之间共享代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25069777/

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