Upng.js: Paquet NPM s'il vous plaît

Créé le 29 mars 2017  ·  6Commentaires  ·  Source: photopea/UPNG.js

Commentaire le plus utile

Non, ils ne le font pas. Vous devez installer ce logiciel spécial de gestion de packages ( npm ), qui s'exécute et est livré avec sa propre machine virtuelle ( node.js ). Ce dernier est souvent utilisé comme serveur Web, plate - contrôler des périphériques physiques via Arduino ou Raspberry Pi.

Je peux voir que vous utilisez le modèle "export global" dans votre code, ce qui n'est plus recommandé. Vous avez besoin d' au moins CommonJS module, mieux - UMD ou idéalement ES6 Module transpiled à UMD par certains Bundler, comme Webpack , Brunch ou Rollup (il y a beaucoup plus de ces derniers ).

Pour rendre le code lisible et admiré par tout le monde, vous devez utiliser les dernières fonctionnalités du langage EcmaScript, puis le transpiler en ES5, probablement avec Babel .

Comme la chose que vous construisez est une bibliothèque, vous pouvez utiliser TypeScript , qui est essentiellement un sur-ensemble d'EcmaScript, fournissant des signatures de type et des vérifications de type à la compilation (TypeScript est compilé en JavaScript, ES5 ou ES6, donc vous pouvez ou pouvez pas utiliser Babel avec ça). Même les personnes qui n'écrivent pas TypeScript en bénéficieraient toujours, car les éditeurs modernes comme VSCode sont capables d'afficher des conseils de type basés sur les types TypeScript.

Un sujet distinct est le développement piloté par les tests. Je vois que vous n'avez écrit aucun test pour votre code, ce qui n'est plus acceptable dans la communauté open source. Assurez-vous de choisir un exécuteur de test comme Mocha , Jasmine ou Ava avec l'une des bibliothèques d'assertion: Chai , PowerAssert ou peut - être la fonction plusieurs navigateurs sur SauceLabs via Karma , pour vous assurer que votre code fonctionne partout.

Si vous utilisez un serveur d'intégration continue pour toutes ces tâches de transpilation, de création et de test, vous pourrez ajouter des badges sophistiqués à README dans votre référentiel GitHub ou vos

Ce n'est que la pointe de l'iceberg. Bienvenue dans le développement front-end AD 2017.

PS
Vous pouvez également ignorer tout cela et continuer à faire un travail formidable comme vous le faisiez jusqu'à présent !

Tous les 6 commentaires

Qu'est-ce que le NPM ? Pensez-vous que vous pouvez le faire?

Il semble que je doive télécharger et installer un logiciel spécial pour publier UPNG.js dans "npm". Lorsque je mettrai à jour ma bibliothèque, devrai-je la mettre à jour à la fois sur GitHub et npm, ou npm pourra-t-il en quelque sorte se connecter à GitHub et télécharger la dernière version ?

Salut! Je suis désolé, je ne savais pas que vous n'étiez pas au courant de NodeJS/NPM. NPM est la plus grande solution de gestion des packages/dépendances au monde. Le code vit toujours sur github, les développeurs sont alors autorisés à télécharger et à utiliser votre code plus confortablement.
Ce qui signifie : installer via les commandes de la console ( npm install upng )
et l'utilisation via require('upng') par exemple. De plus, vous voulez éviter d'encombrer l'espace de noms d'objet global ( window.upng )).

Depuis que ce code a été publié sur echojs.com , je pensais que vous connaissiez NodeJS.

Je vais voir si je peux trouver le temps de créer une pull request pour la publier sur NPM, mais vous devriez être celui qui publie sur NPM, puisque vous avez créé la bibliothèque. La documentation est disponible ici : https://docs.npmjs.com/cli/publish

Créer le package pour le rendre disponible pour NPM est assez trivial.
Voir plus d'informations ici : https://docs.npmjs.com/cli/init

Disposent-ils d'une interface Web ? J'utilise GitHub via l'interface Web. Cela me semble fou de télécharger et d'installer un logiciel juste pour envoyer 12 ko à un serveur.

Non, ils ne le font pas. Vous devez installer ce logiciel spécial de gestion de packages ( npm ), qui s'exécute et est livré avec sa propre machine virtuelle ( node.js ). Ce dernier est souvent utilisé comme serveur Web, plate - contrôler des périphériques physiques via Arduino ou Raspberry Pi.

Je peux voir que vous utilisez le modèle "export global" dans votre code, ce qui n'est plus recommandé. Vous avez besoin d' au moins CommonJS module, mieux - UMD ou idéalement ES6 Module transpiled à UMD par certains Bundler, comme Webpack , Brunch ou Rollup (il y a beaucoup plus de ces derniers ).

Pour rendre le code lisible et admiré par tout le monde, vous devez utiliser les dernières fonctionnalités du langage EcmaScript, puis le transpiler en ES5, probablement avec Babel .

Comme la chose que vous construisez est une bibliothèque, vous pouvez utiliser TypeScript , qui est essentiellement un sur-ensemble d'EcmaScript, fournissant des signatures de type et des vérifications de type à la compilation (TypeScript est compilé en JavaScript, ES5 ou ES6, donc vous pouvez ou pouvez pas utiliser Babel avec ça). Même les personnes qui n'écrivent pas TypeScript en bénéficieraient toujours, car les éditeurs modernes comme VSCode sont capables d'afficher des conseils de type basés sur les types TypeScript.

Un sujet distinct est le développement piloté par les tests. Je vois que vous n'avez écrit aucun test pour votre code, ce qui n'est plus acceptable dans la communauté open source. Assurez-vous de choisir un exécuteur de test comme Mocha , Jasmine ou Ava avec l'une des bibliothèques d'assertion: Chai , PowerAssert ou peut - être la fonction plusieurs navigateurs sur SauceLabs via Karma , pour vous assurer que votre code fonctionne partout.

Si vous utilisez un serveur d'intégration continue pour toutes ces tâches de transpilation, de création et de test, vous pourrez ajouter des badges sophistiqués à README dans votre référentiel GitHub ou vos

Ce n'est que la pointe de l'iceberg. Bienvenue dans le développement front-end AD 2017.

PS
Vous pouvez également ignorer tout cela et continuer à faire un travail formidable comme vous le faisiez jusqu'à présent !

Merci beaucoup pour vos commentaires. Il semble que télécharger, installer et apprendre à utiliser tous ces programmes me prendrait plus de temps que ce que j'ai passé à développer UPNG.js . Je n'en ai pas besoin à d'autres fins. Ainsi, j'ai décidé de laisser cette tâche à quelqu'un d'autre (n'hésitez pas à publier UPNG.js sur npm ou tout autre "base de données de code" / site Web).

PS Je pense toujours qu'en imaginant un "environnement javascript standard", vous ne devriez pas imaginer Node.js (que des milliers de personnes ont) mais un navigateur Web (que des milliards de personnes ont).

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

HRK44 picture HRK44  ·  9Commentaires

mn4367 picture mn4367  ·  16Commentaires

Ser-Gen picture Ser-Gen  ·  5Commentaires

iklementiev picture iklementiev  ·  3Commentaires

sontek picture sontek  ·  3Commentaires