如何交付Web库

如何交付Web库,web,javascript,Web,Javascript,我开始为web应用程序开发一个库 现在我看到了将新应用程序与完整库一起交付给客户时的问题,因为客户获得了整个库,但他没有为此付费 我在互联网上找不到解决这个问题的网络开发策略 我的想法是以某种方式将库在构建时剥离到所需的依赖项。但是我不知道怎么做 解决这个问题的最佳实践是什么?只要你在为Web开发一些JS,你就必须发布库的源代码,因为这是浏览器唯一能理解的 对客户机隐藏代码的唯一方法是发布不带源代码的二进制文件。在Web客户端上,这相当于使用Java或ActiveX,这两种技术如今都是注定要失败

我开始为web应用程序开发一个库

现在我看到了将新应用程序与完整库一起交付给客户时的问题,因为客户获得了整个库,但他没有为此付费

我在互联网上找不到解决这个问题的网络开发策略

我的想法是以某种方式将库在构建时剥离到所需的依赖项。但是我不知道怎么做


解决这个问题的最佳实践是什么?

只要你在为Web开发一些JS,你就必须发布库的源代码,因为这是浏览器唯一能理解的

对客户机隐藏代码的唯一方法是发布不带源代码的二进制文件。在Web客户端上,这相当于使用Java或ActiveX,这两种技术如今都是注定要失败的。而且Java很容易反编译

你可以从缩小你的库开始,这会使代码有点混乱


您还可以将此视为您应该将库拆分为组件,以便只向客户提供他们需要的内容。

您回答的最后一点是我想尝试的策略。到目前为止,我看到了两种拆分库的方法。在开发期间第一次拆分。这似乎是一种非常丑陋的方式。其次,在构建期间创建一个子库。第二个是好方法。这可能是通过grunt实现的。我只是不知道如何开始,从哪里开始。库需要有一些依赖关系管理,这对于确定构建时所需的部件是可行的。或类似的。有什么想法吗?还是忘了第二种方法而去第一种方法?因为Javascript是一种动态语言,所以自动激增Javascript库以只保留将要使用的内容是一个很难解决的问题。我不知道有任何现有的计划能够做到这一点。OTOH,将您的库转换为一组组件将允许您逐个包含所需的组件,然后在构建时,concat然后minify实际使用的js脚本将它们交付给您的客户机。这意味着在库的代码中的每个位置反转依赖项,其中组件集是整体已知的。(例如,小部件类型上的开关盒)