記事を書くときは、写真を挿入する必要があります。既存の写真を挿入することは非常に簡単です。優れたWebサイトリストを作成する場合、Webページのスクリーンショットを追加する必要がある場合があります。このプロセスは非常に退屈です。コマンドラインツールの開発を検討して、URLを渡してからページスクリーンショットを生成できます。
Webページのスクリーンショットには、Node-Webshotを使用します
使用されるNPMモジュールには、YargsとNode-Webshotが含まれます。 Yargsに関する記事については、ここを参照して、Yargsの完全なガイドであるゼロから個人的な独占コマンドラインツールセットを作成してください。
Node-WebshotはPhantomjsを呼び出してWebページのスクリーンショットを生成します。 Phantomjsは非常に有名なNPMプロジェクトであり、WebKitブラウザーのスクリプト版に相当します。 Phantomjsを介して、スクリプトとWebページをやり取りできるため、PhantomjsはWebページの自動化テストによく使用されます。
Phantomjsは、通常のブラウザのような完全なWebページコンテンツをロードし、メモリにレンダリングします。それがレンダリングするページは肉眼では見られませんが、写真を生成することでそれを見ることができます。 Node-Webshotは、Phantomjsのレンダリングインターフェイスを使用して、Webページのスクリーンショットを取得します。
node-webshotは、Googleホームページのサンプルコードを生成します。
var webshot = require( 'webshot'); webshot( 'google.com'、 'google.png'、function(err){// screenshotはgoogle.pngに保存されました}); phantomjsは、Googleホームページのサンプルコードを生成します:var page = require( 'webpage')。create(); page.open( 'http://github.com/'、function(){page.render( 'github.png'); phantom.exit();});では、Phantomjsを直接使用してみませんか?一言は怠zyです!
さらに、Node-Webshotは、ファイルの読み取りと書き込みを単純にカプセル化するだけです。 node.jsに精通している開発者は、そのようなインターフェイスを簡単に書き込むことができると思いますが、ホイールは使いやすいので、自分で作らないでください。
ノードウェブショットストリーミングコールの書き方:
var webshot = require( 'webshot'); var fs = require( 'fs'); var renderStream = webshot( 'google.com'); var file = fs.createwritestream( 'google.png'、{encoding: 'binary'}); renderstream.on( 'data'、function(data){file.write(data.tostring( 'binary')、 'binary');});Node-Webshitは、Webページのスクリーンショットのモバイルバージョンの生成もサポートしています。
var webshot = require( 'webshot'); var options = {screensize:{width:320、height:480}、shotsize:{width:320、height: 'all'}、useragent: 'mozilla/5.0(iphone; u; u; u; cpu iphone os 3_2 like mac os x; en-us)' + 'applewebkit/531.21.20(khtmlモバイル/7b298g '}; webshot( 'flickr.com'、 'flickr.jpeg'、options、function(err){// flickr.jpegに保存されました});最後に、YargsとNode-Webshotを統合しましたが、残念ながら、作業のこの部分で直接インストールするだけでお手伝いします。
npm is ntall -g webshot -cli
デスクトップスクリーンショットを使用したシステムスクリーンショット
デスクトップスクリーンショットは、クロスプラットフォームシステムスクリーンショットプロジェクトです。その使用は、1つのURLパラメーターが欠落していることを除いて、ノードウェブショットに似ています。
var screenshot = require( 'desktop-screenshot'); screenshot( "screenshot.png"、function(error、complete){if(error)console.log( "screenshot faild"、error); else console.log( "screenshot suced");});これは私のシステムのスクリーンショットです
問題は、コマンドラインを呼び出すと、このウィンドウもスクリーンショットに表示され、このウィンドウを削除する良い方法がないことです。システムのスクリーンショットは、Windowsに伴う適切なポイントです。
画像の最適化
最後に、2つの画像最適化ツールが導入されています
Imagemin
SVGO
SVGOは、SVG画像の最適化に使用されます。 SVGはアイコンフォントを置き換え、新しいトレンドになります。