gpt4 book ai didi

javascript - 兼容 ES6 功能

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:01 26 4
gpt4 key购买 nike

您好,我在更改 require to import 语句时遇到问题。我的所有文件都支持箭头函数和 const、let 等。就在我将 require 语句更改为 import 时,我遇到了很多麻烦。

以下是我的文件:

我的 Grunt 文件:

const request = require('request');
const webpackConfigDev = require('./webpack.config.dev');
const webpackConfigProd = require('./webpack.config.prod');

module.exports = function init(grunt) {
require('time-grunt')(grunt);
require('load-grunt-tasks')(grunt);

const reloadPort = 35729;
let files;

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
eslint: {
target: ['app/**/*.js', 'clientSide/**/*.js', 'config/**/*.js',
'test/**/*.js', 'app.js', 'Gruntfile.js'],
},
webpack: {
options: {
stats: !process.env.NODE_ENV || process.env.NODE_ENV === 'development',
},
prod: webpackConfigProd,
dev: Object.assign({ watch: true }, webpackConfigDev),
},

mocha_istanbul: {
coverage: {
src: 'test/**/*.js',
options: {
check: {
statements: 85,
functions: 85,
branches: 77,
},
excludes: [
'app.js',
'config/*',
'migrations/xyz/*',
'app/models/*',
],
},
},
},
mochaTest: {
test: {
options: {
quiet: false,
noFail: false,
},
},
src: ['test/spec/**/*.js'],
},
develop: {
server: {
file: 'app.js',
},
},
stylus: {
dist: {
files: {
'public/css/style.css': 'public/css/style.styl',
},
},
},


grunt.config.requires('watch.js.files');
files = grunt.config('watch.js.files');
files = grunt.file.expand(files);

// Load the npm dependencies into grunt
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-mocha-istanbul');

// Load webpack plugin npm tasks.
grunt.loadNpmTasks('grunt-webpack');

grunt.registerTask('delayed-livereload', 'Live reload after the node server has restarted.',
() => {
const done = this.async();
setTimeout(() => {
request.get(`http://localhost:${reloadPort}/changed?files=${files.join(',')}`,
(err, res) => {
const reloaded = !err && res.statusCode === 200;
if (reloaded) {
grunt.log.ok('Delayed live reload successful.');
} else {
grunt.log.error('Unable to make a delayed live reload.');
}
done(reloaded);
});
}, 500);
});

grunt.registerTask('test', [
'env:test',
'eslint',
'mocha_istanbul',
]);

grunt.registerTask('build', [
'env:dev',
'eslint',
'stylus',
'webpack',
'mocha_istanbul',
'develop',
]);

// The default task just runs the project on dev
grunt.registerTask('default', [
'build',
'watch',
]);
};

我刚刚在 .js 文件中将 const 更改为 import,但这并未运行。当跑去报道时,所有的问题就开始了。请帮帮我。我两天来一直在努力解决这个问题。

最佳答案

如果您富有冒险精神并且确实想在 Node.js 中使用模块,那么有一种方法。 Node.js 8.5 added experimental support for ES Modules 。有关如何使用它的文档可以在 ECMAScript Modules 中找到。 。以下是要点:

  • 使用 Node.js 8.5 或更高版本
  • 使用--experimental-modules标志
  • 在模块文件上使用 .mjs 扩展名

关于javascript - 兼容 ES6 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47023248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com