如何在windows下编译出assets.json?
 发布于 10 年前  作者 bsdragon  5900 次预览  最后一次回复是 9 年前  来自 问答 

如题,已经折腾了一个晚上,难道必须在linux下make build 才能搞定cnode Loader ?

16 回复
alsotang

没试过 windows 不知道。。。

bsdragon

已解决,但不知道对不对, cd 进 \node_modules\loader\bin
执行 node build …/…/…/…/view …/…/…/ 后就有了assets.json

luoyjx

… cd到你的项目根目录 node_modules\.bin\loader views .

sonong

@bsdragon loader里面没有bin目录。

sonong

@luoyjx bin.png 没有loader views .

bsdragon

@sonong 。。。views指的是 你视图文件夹,我不是带了 …/…/…/views 。。。

sonong

@bsdragon loader里面没有bin目录,bin目录里面有内容吗?

bsdragon

build 文件 <pre><code> #!/usr/bin/env node var path = require(‘path’); var fs = require(‘fs’); var Loader = require(’…/’);

var argv = process.argv;

if (argv.length < 4) { console.log(“Example: loader views_dir base_dir”); console.log("\tviews_dir: views folder"); console.log("\tbase_dir: project root folder"); console.log(""); console.log(“e.g. loader ./views ./”); process.exit(1); }

// app/views var viewsDir = path.join(process.cwd(), argv[2]); // app/ var baseDir = path.join(process.cwd(), argv[3]);

// scan views folder, get the assets map var scaned = Loader.scanDir(viewsDir); console.log(“Scaned.”);

// combo?md5 hash var minified = Loader.minify(baseDir, scaned); console.log(minified); console.log(“Compile static assets done.”);

// write the assets mapping into assets.json var assets = path.join(baseDir, ‘assets.json’); console.log("assets.json is here: " + assets); fs.writeFileSync(assets, JSON.stringify(Loader.map(minified))); console.log("write assets.json done. assets.json: "); console.log(fs.readFileSync(assets, ‘utf-8’)); </code></pre>

sonong

@bsdragon 头大 一整天了 没搞明白这个

luoyjx

@sonong Makefile 里的build命令,是直接在项目的根目录执行的

sonong

@luoyjx 11.JPG 报这个错 就是如何在windows下执行 make build

sonong

@luoyjx 变成builder了 而不是build 我先尝试下 谢谢。