1、取getBinaryUrl路径
function getBinaryUrl() {
var site = getArgument('--sass-binary-site') ||
process.env.SASS_BINARY_SITE ||
process.env.npm_config_sass_binary_site ||
(pkg.nodeSassConfig && pkg.nodeSassConfig.binarySite) ||
'https://github.com/sass/node-sass/releases/download';
return [site, 'v' + pkg.version, getBinaryName()].join('/');
}
2、下载
download(sass.getBinaryUrl(), binaryPath, function(err) {
if (err) {
console.error(err);
return;
}
console.log('Binary saved to', binaryPath);
cachedBinary = path.join(cachePath, sass.getBinaryName());
if (cachePath) {
console.log('Caching binary to', cachedBinary);
try {
mkdir.sync(path.dirname(cachedBinary));
fs.createReadStream(binaryPath)
.pipe(fs.createWriteStream(cachedBinary))
.on('error', function (err) {
console.log('Failed to cache binary:', err);
});
} catch (err) {
console.log('Failed to cache binary:', err);
}
}
});
}