如何在 nwjs 中包含 node-sass(在 windows 上)

How to include node-sass in nwjs (on windows)

我正在 NW.js (node-webkit) 中开发一个多平台项目,它必须使用 node-sass。问题是我似乎无法找到任何方法来包含它而不会在 windows (x64) 上出现错误。

这是我试过的方法:

  1. 按原样要求
    错误:动态 link 库 (DLL) 初始化例程失败。
  2. Build with node-sass' built in script and then require
    错误:动态 link 库 (DLL) 初始化例程失败。
  3. 使用 node-gyp 构建
    错误:动态 link 库 (DLL) 初始化例程失败。
  4. 使用 nw-gyp 构建(配置命令失败)
    错误:在尝试加载 [=38= 时评估 binding.gyp 中的条件 'OS=="win" 和组件=="shared_library" 时未定义名称 'component' ]

我已经在 Windows 10 (x64)、node v6.5.0、NW.js v0.16.1 和 v0.17.0、node-sass(最新)上进行了测试。

感谢您的帮助!

我遇到了类似的问题(但在 linux 上)并且没有找到任何答案为什么 node-sass 不起作用以及如何修复它。但是 sass.js 对我有用(工人+脚本)。当然它不像 node-sass 那样方便(即你需要以特殊方式处理导入),但对于我的需要它工作正常。

我最后做的是:

我围绕 node-sass 创建了一个包装器,它调用 node-sass 作为子进程(通过 cli)。

const { exec } = require('child_process');
module.exports = function (options, cb) {
    // turn the options to node-sass cli args
    // something like this...
    exec(`node-sass ${agrs}`, execOptions, cb);
}

很有魅力! ;)