Aid*_*Gee 12 sass node.js express
我试图让node-sass-middleware与express一起工作.该应用程序运行没有错误
...(modules)
var sassMiddleware = require('node-sass-middleware');
var routes = require('./routes/index');
var app = express();
// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
//---- LOAD SASS -----//
// adding the sass middleware
var srcPath = __dirname + '/scss';
var destPath = __dirname + '/public/stylesheets';
app.use(sassMiddleware({
src: srcPath,
dest: destPath,
debug: true,
outputStyle: 'compressed'
}));
app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到我试图编译sass的方式有什么问题吗?
文件结构:
app
controllers
routes
public
-stylesheets
scss
...
Run Code Online (Sandbox Code Playgroud)
这就是app.js应该是这样的:
app.use(sassMiddleware({
src: srcPath,
dest: destPath,
debug: true,
outputStyle: 'compressed'
}),
express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)
您的主要scss文件也应命名为style.scss并位于scss/stylesheets /目录中.
如果您已正确加载模块,您应该看到这样的日志:
source : /Users/abc/Desktop/SO/SO_node/scss/stylesheets/style.scss
dest : /Users/abc/Desktop/SO/SO_node/public/stylesheets/stylesheets/style.css
read : /Users/abc/Desktop/SO/SO_node/public/stylesheets/stylesheets/style.css
render : /Users/abc/Desktop/SO/SO_node/scss/stylesheets/style.scss
Run Code Online (Sandbox Code Playgroud)
问题也可能是您想要编译scss
代替sass
。因此设置indentedSyntax
为false
.
app.use(require('node-sass-middleware')({
src: path.join(__dirname, 'scss'),
dest: path.join(__dirname, 'public'),
indentedSyntax : false,
sourceMap: true
}));
Run Code Online (Sandbox Code Playgroud)
或者完全删除它。Express-generator 默认添加此值。
归档时间: |
|
查看次数: |
6196 次 |
最近记录: |