0
我正在玩Node.js作爲一些建設時間JavaScript優化的驅動程序。我的概念誤解節點異步是錯誤的嗎?
我有以下傑克文件:
fs = require("fs")
uglify = require("uglify-js")
desc "Uglify JS"
bundles =
edit: [ "jquery",.... ]
login: [ ... ]
directory: [ .... ]
all = {}
task "minify", [], (params) ->
files = bundles.edit
for name,files of bundles
all[name] = ""
files.forEach (file, i) ->
file = file + ".js"
all[name] += fs.readFileSync("Src/Scripts/" + file).toString() if file.match(/^.*js$/)
cbgen = (data) ->
(err, out) ->
ast = uglify.parser.parse(data)
ast = uglify.uglify.ast_mangle(ast)
ast = uglify.uglify.ast_squeeze(ast)
fs.write out, uglify.uglify.gen_code(ast), 0, null, null, (e,w) ->
cb = cbgen all[name]
fs.open "Src/Scripts/" + name + ".min.js", "w+", 0666, cb # async methods
,你可以在最後一行看到,我所做的腳本異步的昂貴的部分。
但是當我運行它,它只是使用可用的CPU處理能力的12%,所以兩個問題:
- 我是不是做錯了
- 如果沒有,哪來的上漲空間?
它應該使用內部線程池(在Linux上)或IOCP在Windows上。但是,V8 JavaScript代碼只在一個線程中。 – Raynos