Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows Azure上的node.js项目中编译较少的文件_Node.js_Azure_Less - Fatal编程技术网

在Windows Azure上的node.js项目中编译较少的文件

在Windows Azure上的node.js项目中编译较少的文件,node.js,azure,less,Node.js,Azure,Less,我有一个node.js项目,当我启动应用程序时,它会将较少的文件编译成css。我通过修改package.json中的start脚本来实现这一点,如下所示: { // omitted for brevity start: { lessc public/stylesheets/styles.less > public/stylesheets/styles.css; node app.js; } } 这在本地运行得很好,但在我的Windows Azure实例上根本不起作用。这可

我有一个node.js项目,当我启动应用程序时,它会将较少的文件编译成css。我通过修改
package.json中的
start
脚本来实现这一点,如下所示:

{
    // omitted for brevity
    start: { lessc public/stylesheets/styles.less > public/stylesheets/styles.css; node app.js; }
}
这在本地运行得很好,但在我的Windows Azure实例上根本不起作用。这可能是因为机器上需要全局安装less才能工作,或者是因为Azure没有运行
npm start
。或者两者兼而有之。不管怎样,我都需要另一个解决方案

我认为答案是正确的(我使用的是git远程部署),我尝试修改deploy.cmd以包括

call "lessc public/stylesheets/styles.less > public/stylesheets/styles.css;"
没有快乐。我甚至试过

call "%SITE_ROOT%/node_modules/less/bin/lessc %SITE_ROOT%/public/stylesheets/styles.less > %SITE_ROOT%/public/stylesheets/styles.css;
我走错方向了吗?在部署到Azure后,我如何将已编译的css文件置于源代码控制之外,并在服务器上编译它们


谢谢

好吧,我想我终于开始了

出于某种原因,即使物理文件在磁盘上(我可以通过FTP客户端看到它们),Azure也不允许我在
\node\u modules\less\bin
文件夹中运行LESC,但它允许我在
\node\u modules\.bin
文件夹中运行版本

最后,我在我的deploy.cmd文件中添加了以下几行代码,它成功了

IF NOT DEFINED LESS_COMPILER (
  SET LESS_COMPILER=%DEPLOYMENT_TARGET%\node_modules\.bin\lessc
)

call %LESS_COMPILER% %DEPLOYMENT_TARGET%\public\stylesheets\styles.less > %DEPLOYMENT_TARGET%\public\stylesheets\styles.css

你第一次尝试失败的原因是什么?@davidebo我不能肯定,但我认为引号很重要——我记得看到类似“线太长了”(或类似的措辞);当LESS_编译器设置为/node_modules/LESS/bin文件夹时,它根本找不到lessc-失败,出现“lessc不是可执行文件”