"Web Compiler" 保存时编译不工作
"Web Compiler" compile on save not working
我正在使用网络编译器,但它不会编译我的 SASS 结构,除非我右键单击 "compilerconfig.json" 和 select "Web-compiler" --> "Re-compile all files".
当我使用其他方法触发编译时...
- 当我保存 SCSS 文件时(最重要)
- 当我进入菜单时 "Build" --> "Re-compile all files in solution"
- 当我使用短命令时 Shift + Alt + Y
它会告诉我 "Compiled successfully" 或 "Done compiling",但是文件没有更新。
我正在使用 Visual Studio 2015 v.3 和 2016 年 8 月 2 日更新的 Web 编译器,版本 1.11.319。
在论坛中找到了答案。我只需要删除一些临时文件并重新启动 Visual Studio:
%localappdata%\temp\WebCompiler1.xx
论坛post:
https://github.com/madskristensen/WebCompiler/issues/158
希望这对某人有所帮助!
遗憾的是,此处提供的解决方案无效。看来我并不孤单。
如果它对其他人有帮助,我找到了另一种解决方法,它似乎提供了额外的附带好处。
如果您将 Razor 视图添加到您的项目中(我将其命名为 JsHelper.cshtml
并将其添加到 \Views\Shared
中)并使用以下内容(添加了额外的换行符以使其适合SO 宽度)...
@model string
@{
string ext = HttpContext.Current != null
&& HttpContext.Current.Request.Url.Host.Contains("localhost")
? ""
: ".es5.min";
}
<script src="/Scripts/@Model@(ext).js" type="text/javascript"></script>
...然后而不是像这样添加脚本标签...
<script src="/Scripts/General.es5.min.js" type="text/javascript"></script>
...您可以添加此...
@Html.Partial("~/Views/Shared/JsHelper.cshtml", "General")
当您运行 Visual Studio 中的网站时,将使用Javascript 文件的未编译版本。当 运行 其他任何地方(例如在生产服务器上)时,将使用 .es5.min.js
版本。
由于发布 Web 项目涉及构建它,这将编译 .js 文件,您可以确信发布的编译和缩小文件是最新的。
这有一个附带的好处,即在浏览器中调试脚本时,您可以访问 .js
文件的完整版本,而不是如果您引用他们直接。最新版本的 Web 编译器发生的另一个重大变化是它们在编译时不再生成 .map.js
文件,这是一个巨大的附带好处。
希望对您有所帮助。
在解决此问题时,我发现此扩展有时已被 "automatically" 禁用。我确定这不是我做过的事情,但 Visual Studio 中可能有一种机制会定期禁用扩展。还有一件事要检查。
更新到 VS 2017 版本 15.9.5 后
用保存编译对我不起作用。
我可以右键单击 scss 文件并编译,但再次嵌套 css 未编译。
似乎更新 visual studio 是个问题。
或者您可以卸载网络编译器并使用compilesass,
您可以从here
下载
如果您最近安装了新的 Visual Studio,请务必重新安装 WebCompiler 扩展。分机 > 管理分机
这适用于 VS2022,我不知道其他版本,但它也可能相关。
我有一个项目,当从项目或单个文件中单击“重新编译文件”时,css 生成工作正常,但在生成或保存 .scss 时不会自动生成。
要使其正常工作,项目必须引用以下 nuget 包:
<ItemGroup>
<PackageReference Include="BuildWebCompiler2022" Version="1.14.4" />
....
<ItemGroup>
当然,确切的版本可能取决于您阅读此消息时可用的版本。
你也可以通过right-clicking在一个.scss文件中自动添加,点击“Web编译器”菜单,点击“在构建时启用编译”,它会添加缺少参考。
我正在使用网络编译器,但它不会编译我的 SASS 结构,除非我右键单击 "compilerconfig.json" 和 select "Web-compiler" --> "Re-compile all files".
当我使用其他方法触发编译时...
- 当我保存 SCSS 文件时(最重要)
- 当我进入菜单时 "Build" --> "Re-compile all files in solution"
- 当我使用短命令时 Shift + Alt + Y
它会告诉我 "Compiled successfully" 或 "Done compiling",但是文件没有更新。
我正在使用 Visual Studio 2015 v.3 和 2016 年 8 月 2 日更新的 Web 编译器,版本 1.11.319。
在论坛中找到了答案。我只需要删除一些临时文件并重新启动 Visual Studio:
%localappdata%\temp\WebCompiler1.xx
论坛post: https://github.com/madskristensen/WebCompiler/issues/158
希望这对某人有所帮助!
遗憾的是,此处提供的解决方案无效。看来我并不孤单。
如果它对其他人有帮助,我找到了另一种解决方法,它似乎提供了额外的附带好处。
如果您将 Razor 视图添加到您的项目中(我将其命名为 JsHelper.cshtml
并将其添加到 \Views\Shared
中)并使用以下内容(添加了额外的换行符以使其适合SO 宽度)...
@model string
@{
string ext = HttpContext.Current != null
&& HttpContext.Current.Request.Url.Host.Contains("localhost")
? ""
: ".es5.min";
}
<script src="/Scripts/@Model@(ext).js" type="text/javascript"></script>
...然后而不是像这样添加脚本标签...
<script src="/Scripts/General.es5.min.js" type="text/javascript"></script>
...您可以添加此...
@Html.Partial("~/Views/Shared/JsHelper.cshtml", "General")
当您运行 Visual Studio 中的网站时,将使用Javascript 文件的未编译版本。当 运行 其他任何地方(例如在生产服务器上)时,将使用 .es5.min.js
版本。
由于发布 Web 项目涉及构建它,这将编译 .js 文件,您可以确信发布的编译和缩小文件是最新的。
这有一个附带的好处,即在浏览器中调试脚本时,您可以访问 .js
文件的完整版本,而不是如果您引用他们直接。最新版本的 Web 编译器发生的另一个重大变化是它们在编译时不再生成 .map.js
文件,这是一个巨大的附带好处。
希望对您有所帮助。
在解决此问题时,我发现此扩展有时已被 "automatically" 禁用。我确定这不是我做过的事情,但 Visual Studio 中可能有一种机制会定期禁用扩展。还有一件事要检查。
更新到 VS 2017 版本 15.9.5 后 用保存编译对我不起作用。 我可以右键单击 scss 文件并编译,但再次嵌套 css 未编译。 似乎更新 visual studio 是个问题。
或者您可以卸载网络编译器并使用compilesass,
您可以从here
下载如果您最近安装了新的 Visual Studio,请务必重新安装 WebCompiler 扩展。分机 > 管理分机
这适用于 VS2022,我不知道其他版本,但它也可能相关。
我有一个项目,当从项目或单个文件中单击“重新编译文件”时,css 生成工作正常,但在生成或保存 .scss 时不会自动生成。
要使其正常工作,项目必须引用以下 nuget 包:
<ItemGroup>
<PackageReference Include="BuildWebCompiler2022" Version="1.14.4" />
....
<ItemGroup>
当然,确切的版本可能取决于您阅读此消息时可用的版本。
你也可以通过right-clicking在一个.scss文件中自动添加,点击“Web编译器”菜单,点击“在构建时启用编译”,它会添加缺少参考。