Почему результат расчета отличается между Зассмейстером и местной средой? - PullRequest
6 голосов
/ 06 марта 2020

Я делаю сложные вычисления. Например, следующий mixin возвращает 0,00000096 для SassMeister (используется в компиляторе dart-sass v1.18.0).

Но с gulp-dart-sass это дает разные результаты ( 9.6000002259 ) на Windows 10. Почему это? Я хочу, чтобы он работал как SassMeister.

Файл Sass

$x: 0.98;
$a: 300;

@function f($x){
  $x: 1 - $x;
  @return 1 - $x * $x * $x * $x * $x;
}

@error f($x) * -$a + $a;

gulpfile. js

'use strict';

var gulp = require('gulp');
var sass = require('gulp-dart-sass');

gulp.task('sass', function () {
  return gulp.src('./*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('./css'));
});

пакет. json

{
  "name": "g",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "gulp": "gulp"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "gulp": "^4.0.2",
    "gulp-dart-sass": "^0.9.1"
  }
}

SassMeister результат

0.00000096
  ╷
9 │ @error f($x) * -$a + $a;
  │ ^^^^^^^^^^^^^^^^^^^^^^^
  ╵
  stdin 9:1  root stylesheet on line 9 at column 1

консольный результат

$ npm run gulp sass
[xx:xx:xx] Using gulpfile ~\gulpfile.js
[xx:xx:xx] Starting 'sass'...

Error in plugin "sass"
Message:
    style.scss
Error: 9.6000002259
  ╷
9 │ @error f($x) * -$a + $a;
  │ ^^^^^^^^^^^^^^^^^^^^^^^
  ╵
  style.scss 9:1  root stylesheet

[xx:xx:xx] Finished 'sass' after 151 ms
...