如题,已经折腾了一个晚上,难道必须在linux下make build 才能搞定cnode Loader ?
没试过 windows 不知道。。。
已解决,但不知道对不对,
cd 进 \node_modules\loader\bin
执行 node build …/…/…/…/view …/…/…/ 后就有了assets.json
… cd到你的项目根目录 node_modules\.bin\loader views .
@bsdragon loader里面没有bin目录。
@luoyjx 没有loader views .
@sonong 。。。views指的是 你视图文件夹,我不是带了 …/…/…/views 。。。
@bsdragon loader里面没有bin目录,bin目录里面有内容吗?
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>
@bsdragon 头大 一整天了 没搞明白这个
@sonong Makefile 里的build命令,是直接在项目的根目录执行的
@luoyjx 报这个错 就是如何在windows下执行 make build
@sonong 执行的是loader的命令行程序,现在好像loader升级了 https://github.com/cnodejs/nodeclub/blob/master/package.json#L31 https://github.com/cnodejs/nodeclub/blob/master/Makefile#L41
@luoyjx 变成builder了 而不是build 我先尝试下 谢谢。