什么是 NPM? 你认为你能做到吗?
看来我必须下载并安装一些特殊的软件,才能在“npm”中发布 UPNG.js。 当我更新我的库时,我是否必须同时在 GitHub 和 npm 上更新它,或者 npm 可以以某种方式连接到 GitHub 并下载最新版本?
你好! 对不起,我不知道你不知道 NodeJS/NPM。 NPM 是地球上最大的包/依赖项管理解决方案。 代码仍然存在于 github 上,开发人员可以更轻松地下载和使用您的代码。
这意味着:通过控制台命令安装( npm install upng
)
例如,通过require('upng')
使用。 此外,您还想避免乱丢全局对象命名空间 ( window.upng
))。
由于此代码已发布到echojs.com ,我以为您了解
我会看看我是否能找到时间创建一个拉取请求以将其发布到 NPM,但是您应该是发布到 NPM 的人,因为您创建了该库。 文档可以在这里找到: https :
创建包以使其可用于 NPM 非常简单。
在此处查看更多信息: https :
他们有网络界面吗? 我通过 Web 界面使用 GitHub。 下载安装一些软件只是为了将 12 kB 发送到某个服务器对我来说似乎很疯狂。
不,他们没有。 您需要安装特殊的此包管理器软件 ( npm ),该软件在其自己的虚拟机 ( node.js ) 上运行并随附。 后者通常用作Web 服务器、运行桌面应用程序的平台,甚至用于通过 Arduino 或 Raspberry Pi控制物理设备。
我可以看到您在代码中使用了“全局导出”模式,不再推荐使用。 你至少需要CommonJS模块,更好 - UMD或理想的ES6 模块被一些打包Webpack , Brunch或Rollup (还有很多这些)。
为了让每个人都能读懂和欣赏代码,你应该使用 EcmaScript 语言的最新特性,然后将其转换为 ES5,可能使用Babel 。
由于你构建的是一个库,你可能想要使用TypeScript ,它基本上是 EcmaScript 的超集,提供类型签名和编译时类型检查(TypeScript 被编译为 JavaScript,ES5 或 ES6,所以你可能或可能不要同时使用 Babel)。 即使不编写 TypeScript 的人仍然会从中受益,因为像VSCode这样的现代编辑器能够显示基于 TypeScript 类型的类型提示。
单独的主题是测试驱动开发。 我可以看到您没有为您的代码编写任何测试,这在开源社区中不再被接受。 确保选择一些测试运行程序,如Mocha 、 Jasmine或Ava以及断言库之一: Chai 、 PowerAssert或 node.js 中的内置assert
函数,因为您已经安装了它。 理想情况下,在每次部署之前,您应该通过Karma在BrowserStack或SauceLabs上跨浏览器运行测试,以确保您的代码在任何地方都能正常工作。
如果您使用持续集成服务器进行所有这些转译、构建和测试,您将能够在 GitHub 存储库或GitHub Pages 中的自述文件中添加精美的徽章。
这只是冰山一角。 欢迎来到前端开发 AD 2017。
聚苯乙烯
你也可以忽略所有这些,继续做你迄今为止所做的很棒的工作!
非常感谢您的评论。 下载、安装和学习如何使用所有这些程序似乎比我花在开发 UPNG.js 上的时间要多。 我不需要它们用于任何其他目的。 因此,我决定将这项任务留给其他人(随意在 npm 或任何其他“代码数据库”/网站上发布 UPNG.js)。
PS 我仍然认为,与想象“标准 javascript 环境”相比,您不应该想象 Node.js(数千人拥有),而是一个网络浏览器(数十亿人拥有)。
最有用的评论
不,他们没有。 您需要安装特殊的此包管理器软件 ( npm ),该软件在其自己的虚拟机 ( node.js ) 上运行并随附。 后者通常用作Web 服务器、运行桌面应用程序的平台,甚至用于通过 Arduino 或 Raspberry Pi控制物理设备。
我可以看到您在代码中使用了“全局导出”模式,不再推荐使用。 你至少需要CommonJS模块,更好 - UMD或理想的ES6 模块被一些打包Webpack , Brunch或Rollup (还有很多这些)。
为了让每个人都能读懂和欣赏代码,你应该使用 EcmaScript 语言的最新特性,然后将其转换为 ES5,可能使用Babel 。
由于你构建的是一个库,你可能想要使用TypeScript ,它基本上是 EcmaScript 的超集,提供类型签名和编译时类型检查(TypeScript 被编译为 JavaScript,ES5 或 ES6,所以你可能或可能不要同时使用 Babel)。 即使不编写 TypeScript 的人仍然会从中受益,因为像VSCode这样的现代编辑器能够显示基于 TypeScript 类型的类型提示。
单独的主题是测试驱动开发。 我可以看到您没有为您的代码编写任何测试,这在开源社区中不再被接受。 确保选择一些测试运行程序,如Mocha 、 Jasmine或Ava以及断言库之一: Chai 、 PowerAssert或 node.js 中的内置
assert
函数,因为您已经安装了它。 理想情况下,在每次部署之前,您应该通过Karma在BrowserStack或SauceLabs上跨浏览器运行测试,以确保您的代码在任何地方都能正常工作。如果您使用持续集成服务器进行所有这些转译、构建和测试,您将能够在 GitHub 存储库或GitHub Pages 中的自述文件中添加精美的徽章。
这只是冰山一角。 欢迎来到前端开发 AD 2017。
聚苯乙烯
你也可以忽略所有这些,继续做你迄今为止所做的很棒的工作!