NODE vs. YARN
heinetz
- programmiertechnik
- webserver
Hallo Forum,
ich versuche mich, in modernes Frontend Webdevelopment einzuarbeiten. Ich bin es gewohnt, mit mit AMP-Stacks zu arbeiten und deshalb ist das fremd für mich. Langsam entsteht aber ein Gefühl dafür. Ich arbeite mit einem hier mit einem komplexen YARN-Setup, dass ich bisher einfach nur benutze aber auch gerne verstehen möchte.
Ich habe eine NPM-Paket (webshot) gefunden, das ich gerne einsetzen möchte. Dazu habe ich mir zuerst mal ein einfaches NPM-Projekt aufgesetzt. Das Paket installiert und geschaft, dass es macht, was ich will. Das sieht so aus:
//package.json
`{
"name": "node-test",
"version": "0.0.1",
"description": "a simple node.js project",
"private": true,
"dependencies": {
"express": "3.x",
"nunjucks": "^3.0.1",
"phantomjs-prebuilt": "^2.1.16",
"webshot": "^0.18.0"
}
}`
//app.js
`var express = require("express");
var nunjucks = require("nunjucks");
var app = express();
var PATH_TO_TEMPLATES = ".";
nunjucks.configure(PATH_TO_TEMPLATES, {
autoescape: true,
express: app
});
var webshot = require("webshot");
var options = {};
// Use webshot here with the options object as third parameter
// Example :
webshot("google.com", "google.png", options, err => {
// screenshot now saved to google.png
});
app.get("/home.html", function(req, res) {
return res.render("index.html");
});
app.listen(3000);
`
Das interessante daran ist das modul Webshot, um das es geht. Jetzt würde ich das gerne in einem YARN-Projekt einsetzen. Da YARN auch mit NODE-Modulen funktioniert, stelle ich mir vor, dass das grundsätzlich gehen müsste. She eich das richtig? Hilft mir jemand dabei, das in ein YARN-Setup einzubauen?
danke und gruss, heinetz
Hallo heinetz,
Das interessante daran ist das modul Webshot, um das es geht. Jetzt würde ich das gerne in einem YARN-Projekt einsetzen. Da YARN auch mit NODE-Modulen funktioniert, stelle ich mir vor, dass das grundsätzlich gehen müsste. She eich das richtig? Hilft mir jemand dabei, das in ein YARN-Setup einzubauen?
Erstmal die Begriffsverwirrung lösen: Yarn ist vergleichbar mit NPM, nicht mit Node. Yarn verwaltet NPM-Pakete, nicht Node-Pakete.
Und ja, Yarn ist ein Drop-In-Replacement für NPM, du kannst in jedem beliebigen Projekt die package-lock.json
und node_modules
löschen und dann yarn install
ausführen, schon ist das Projekt ein Yarn-Projekt und kein NPM-Projekt mehr.
Edit: das gilt natürlich auch umgekehrt: node_modules
und yarn.lock
löschen, npm install
.
LG,
CK