heinetz: NODE vs. YARN

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

  1. 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