问题与疑问
我一直在使用CSS代码时遇到问题,所以现在我总是使用SaSS代码。但我的问题是:如何将SaSS用于ASP.NET MVC应用程序?
我试过了
我尝试过使用Gulp任务来完成这个任务。
npm init
npm install --save gulp
npm install --save gulp-sass
下面是我的package.json
文件:
{
"name": "markeonline",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Hein Pauwelyn",
"license": "ISC",
"dependencies": {
"gulp": "^3.9.1",
"gulp-sass": "^3.1.0"
}
}
这是gulpfile.js
var gulp = require("gulp"),
sass = require("gulp-sass");
// other content removed
gulp.task("sass", function () {
return gulp.src('./**/*.scss')
.pipe(sass())
.pipe(gulp.dest(project.webroot + './MarkeOnline.Website/Content/css'));
});
以下是我的项目结构:
如果我使用下面的命令,这段代码会给出以下错误:
gulp sass
**ReferenceError:**项目未定义
[17:50:58] ReferenceError: project is not defined
at Gulp.<anonymous> (D:\Documenten\Howest\Semester 4\05 - Project\MarkeOnlinebis\Project Execution\MarkeOnline\gulpfile.js:9:23)
at module.exports (D:\Documenten\Howest\Semester 4\05 - Project\MarkeOnlinebis\Project Execution\MarkeOnline\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (D:\Documenten\Howest\Semester 4\05 - Project\MarkeOnlinebis\Project Execution\MarkeOnline\node_modules\orchestrator\index.js:273:3)
at Gulp.Orchestrator._runStep (D:\Documenten\Howest\Semester 4\05 - Project\MarkeOnlinebis\Project Execution\MarkeOnline\node_modules\orchestrator\index.js:214:10)
at Gulp.Orchestrator.start (D:\Documenten\Howest\Semester 4\05 - Project\MarkeOnlinebis\Project Execution\MarkeOnline\node_modules\orchestrator\index.js:134:8)
at C:\Users\hein_\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129:20
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
at Module.runMain (module.js:592:11)
at run (bootstrap_node.js:394:7)
events.js:160
throw er; // Unhandled 'error' event
^
Error: node_modules\node-sass\test\fixtures\depth-first\_vars.scss
Error: Undefined variable: "$import-counter".
on line 1 of node_modules/node-sass/test/fixtures/depth-first/_vars.scss
>> $import_counter: $import_counter + 1;
-----------------^
at options.error (D:\Documenten\Howest\Semester 4\05 - Project\MarkeOnlinebis\Project Execution\MarkeOnline\node_modules\node-sass\lib\index.js:291:26)
4条答案
按热度按时间0yg35tkg1#
尝试Web Compiler插件,这是我用来在MVC中编译SCSS的插件。
一个Visual Studio扩展,可以编译LESS,Sass,JSX,ES6和CoffeeScript文件。
ivqmmu1c2#
我想你可以用另一种更简单的方法。
步骤1
在您的NuGet管理器中执行此步骤。
1.添加
Microsoft.AspNet.Web.Optimization
1.相加
BundleTransformer.SassAndScss
1.如果使用64位系统,请添加
LibSassHost.Native.win-x64
。LibSassHost.Native.win-x86
第二步
在
BundleConfig.cs
中添加RegisterBundles
方法中的代码。步骤3
在你的项目中添加CSS文件夹,并在里面添加
main.scss
文件表。第四步
在你看来,你需要使用
System.Web.Optimization
。并链接样式表
第五步
在
Global.asax
中,我们需要在Application_Start()
中添加这一行。或者,如果你使用MVC模板,你可能会发现它已经在你的类中了。
这就是你的
main.scss
它的工作。rbl8hiat3#
下面是如何将Sass添加到您的Mvc应用程序:
如果您需要自定义bootstrap,请在bootstrap. scss所在的文件夹中添加一个main.scss文件,然后使用Web编译器对其进行编译。
main.scss:
这个例子包括了所有的文件,但是要确保你只添加了使css变小所需要的文件。
368yc8dk4#
您可以将此解决方案用于net5.0、net6.0、netcoreapp3.1、netstandard2.0
这个例子展示了如何将来自不同来源的scss文件编译成一个单一的前端css文件。
你会用什么
1.53.3
5.2.3
5.2.2
,Darkly Theme.使用说明
当创建一个新的ASP .NETCoreMVC项目时,这就是你将在前端看到的。
这是Bootstrap的
5.1.0
默认主题,位于~\wwwroot\lib\bootstrap\dist\css\bootstrap.css
。我们将使用“Sass Compiler Library for .NET Core 3.1/5.x./6.x without node”更改此默认主题。A.下载Bootstrap(示例使用
5.2.3
版本)1.使用libman.json下载缺少的Bootstrap文件
1.右键单击项目。
Add
,然后Client-Side Library...
,然后在Library:
中搜索您想要的Bootstrap版本,然后Install
。lib
文件夹下。scss
文件夹中的内容感兴趣。B.安装
AspNetCore.SassCompiler
1.使用Nuget软件包管理器选项卡:
1.右键单击项目并选择
Manage NuGet Packages...
1.浏览所需的软件包并安装它。
1.使用Nuget包管理器或.NET CLI:
C.下载Bootswatch文件
Styles
的文件夹中:在这里下载两个Scss文件:
D.使用
AspNetCore.SassCompiler
编译 ALL Scss文件您将添加和修改以下文件:
~/Styles/site.scss
~/appsettings.json
这是
AspNetCore.SassCompiler
需要的配置结果
../wwwroot/lib/bootstrap/scss/bootstrap.scss
_bootswatch.scss
~\wwwroot\css\site.css
还有
您可以为运行时添加监视器:
或者: