gpt4 book ai didi

javascript - 在 Expressjs、Node 中使用 ES6 特性

转载 作者:搜寻专家 更新时间:2023-11-01 00:23:18 24 4
gpt4 key购买 nike

所以我一直在尝试在 Express 中使用 ES6 特性。我读到 Nodejs 现在已经原生支持 es6,所以我不需要 babel 为我做任何事情。

在我的 app.js 内我有的文件:

'use strict';

const express = require('express');
const path = require('path');
const favicon = require('serve-favicon');
const logger = require('morgan');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const mongodb = require('mongodb');
const mongoose = require('mongoose');
const shell = require('shelljs');
const fs = require('fs'), gm = require('gm');
const routes = require('./routes/index');
const users = require('./routes/users');
const app = express();
// view engine setup
// app.use(express.static(__dirname + '/bundle'));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
// 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());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
// catch 404 and forward to error handler
app.use((req, res, next) => {
const err = new Error('Not Found');
err.status = 404;
next(err);
});
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use((err, req, res, next) => {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use((err, req, res, next) => {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;

然后我有我的 server.js基本上运行 http 服务器并指向我的 app.js 的文件我的 server.js 没有错误文件。但是,我在那里使用 es5。

Path/To/Project/app.js:3
const express = require('express');
^^^^^
SyntaxError: Use of const in strict mode.
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (Path/To/Project/server.js:7:11)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
NAME-MacBook-Pro%

我删除了 'use strict';从文件的顶部开始提示,但又遇到了另一个错误 unexpected token .

我需要使用 babel 来编译它吗?它为什么提示?

谢谢!

最佳答案

我认为您使用的是旧版本的 Node 。您必须拥有版本 4+ 才能使用 const 等 ES6 功能。

关于javascript - 在 Expressjs、Node 中使用 ES6 特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33982699/

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