[UPDATE]:npmバージョンD3は動作しません。CDNバージョンに変更されていますが、何も問題はありません。 「)なぜd3がNW.jsで動作しないのですか
すべて:
私は、現在、私はそれにD3を使用しようとしていますが、それでも基本的なd3.selectが動作しないことができる、任意のアイデアNW.jsにかなり新しいですか?選択して唯一の仕事は、あなたがnodejsコンテキストでD3を読み込むd3.select("body")
<div id="app"></div>
<script>
var d3 = require("d3");
function barChart(){
var width, height;
function render(root){
root.append("svg")
.attr({
width:width,
height:height
})
.append("rect")
.attr({
width: 0.5*width,
height: 0.5*height
})
.style({
fill:"red"
})
}
render.width = function(value){
if(value != undefined){
width = value;
return render;
}
return width;
}
render.height = function(value){
if(value != undefined){
height = value;
return render;
}
return height;
}
return render;
}
// this does not work
var root = d3.select("#app");
var chart = barChart();
chart.width(400).height(400)
chart(root);
</script>
おかげ
DOMを使用するためにrequire( "d3")のような方法を使用することはできません。 – Kuan
DOMはブラウザコンテキストの一部であり、ノードコンテキストではありません。ノードコンテキストでは、DOMと他のすべてのブラウザAPI(ノードであるため)はありません。しかし、ノードコンテキストでDOM要素を転送することで、ノードコンテキストからDOMを操作することができます。とにかく、あなたがブラウザのlibを使いたいのであれば、ブラウザのコンテキストでそれを読み込みます。ノードlib - ノードコンテキストでロードします。いくつかのライブラリはノードやブラウザのwell-moment.jsなどで動作します。 – VoidVolker
ありがとう、私が把握していないことの1つは、順序を考えずにそれらを含めるだけで、依存関係をどのように管理できますか? – Kuan