我已经通过“npm install”安装了Node.js模块,然后尝试在命令提示符下执行gulp sass watch。之后,我得到了以下回应。

[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
                                  ^

ReferenceError: primordials is not defined

我在大口大口看之前已经试过了:

npm -g install gulp-cli

当前回答

这是因为系统中节点和gulf之间的兼容性问题。降级节点或升级gulf将解决此问题。

sudo npm i -g n
sudo n 11.15.0

尝试删除node_modules文件夹和package-lock.json文件,如果仍然无法工作,请使用npm i命令再次安装。

其他回答

使用以下命令安装Node.js v11.15.0和Gulp.js v3.9.1:

npm install -g n

sudo n 11.15.0

npm install gulp@^3.9.1
npm install
npm rebuild node-sass

它将解决这个问题:

ReferenceError:节点中未定义原始值

我也犯了同样的错误。当我更新了所有包,然后在package.json中提到了与本地工作系统相同的Node.js引擎版本和npm版本时,我终于解决了这个问题。

 "engines": {
    "node": "10.15.3",
    "npm": "6.9.0"
 }

我在Heroku上部署时遇到了这个错误。

更多信息,请查看Heroku支持。

删除package-lock.json或yarn.lock文件。然后删除node_modules。之后,修改package.json文件-“相关性”:{“大口大口”:“^4.0.0”}然后运行-npm install

这将足以解决这个问题。

这个错误是因为Node.js的新版本(12)和Gulp的旧版本(少于4)。

不建议降级Node.js和其他依赖项。我通过更新package.json文件,获取所有依赖项的最新版本来解决这个问题。为此,我使用npm检查更新。它是一个用所有依赖项的最新版本更新package.json的模块。

参考:https://www.npmjs.com/package/npm-check-updates

npm i -g npm-check-updates
ncu -u
npm install

在大多数情况下,我们必须更新gulpfile.js,如下所示:

参考:Gulp 4:新的任务执行系统-Gulp.parallel和gull.series,Migration

之前:

gulp.task(
    'sass', function () {
        return gulp.src([sourcePath + '/sass/**/*.scss', "!" + sourcePath + "/sass/**/_*.scss"])

            ....
    }
);

Other configuration...

gulp.task(
    'watch', function () {
        gulp.watch(sourcePath + '/sass/**/*.scss', ['sass']);
    }
);

之后:

gulp.task('sass', gulp.series(function(done) {
    return gulp.src([sourcePath + '/sass/**/*.scss', "!" + sourcePath + "/sass/**/_*.scss"])

            ...

    done();
}));

Other config...

gulp.task(
    'watch', function () {
        gulp.watch(sourcePath + '/sass/**/*.scss', gulp.series('sass'));
    }
);

使用以下命令安装Node.js v11.15.0:

npm install -g n

sudo n 11.15.0

将解决

ReferenceError:节点中未定义原始值

来自@Terje Norderhaug@Tom Corelis的回答。