Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在NodeJS服务器中使用导入

在NodeJS服务器中使用导入
EN

Stack Overflow用户
提问于 2017-03-07 10:17:11
回答 2查看 29.7K关注 0票数 14

目前,我的nodejs服务器中的所有模块都被导入为require(),即:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let path = require('path');
let express = require('express');
let http = require('http');
let app = express();

然而,我下面的教程显示它们被导入为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import express from 'express'
import path from 'path'

这会抛出错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SyntaxError: Unexpected token import

我的webpack.config.js设置为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
module: {
    rules: [
        {
            test: /\.js?$/,
            use: 'babel-loader',
            exclude: /node_modules/
        }
    ]
}

在bablerc中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "presets": ["es2015", "react"]
}

我的包版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   "babel-core": "^6.7.6",
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-react": "^6.5.0",

   "react": "^15.0.1",

  "devDependencies": {
    "babel-cli": "^6.18.0",
    "babel-preset-env": "0.0.3",
    "webpack": "^2.2.1",
    "webpack-dev-middleware": "^1.10.1",
    "webpack-dev-server": "^2.4.1",
    "webpack-hot-middleware": "^2.17.1"
  }

导入可以在我所有的react组件文件中运行,但不能在server.js中运行。如何将我的服务器从require切换到Import?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-07 10:21:25

它在webpack的情况下是有效的,因为代码是通过巴别塔运行的。您可以通过babel运行node.js代码。

如果您没有babel cli,请安装它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install --save-dev babel-cli

然后像这样运行你的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./node_modules/.bin/babel-node server.js

或者将其放入package.json中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "scripts": {
    "start": "babel-node server.js"
  }
}
票数 20
EN

Stack Overflow用户

发布于 2018-05-07 06:52:33

默认情况下,您将使用ES5,并且需要使用require来引入模块。随着ES6的发展,我们最好开始使用ES6类以及import和export语句。为此,我们需要使用Babel来解释我们的ES6语法。

  1. npm install --save-dev babel-cli
  2. npm install --save-dev babel-preset-es2015
  3. Let's拉入babel-cli和babel预设es2015作为开发依赖项,并添加.babelrc文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "presets": ["es2015"]
}

如果您按照上面的步骤操作,这个问题应该会消失。

如需更多信息,请访问:https://codebrains.io/setting-up-express-with-es6-and-babel/

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42645548

复制
相关文章
在 Nodejs 中 ES Modules 使用入门讲解
本周 2020-05-26,Nodejs v12.17.0 LTS 版发布,去掉 --experimental-modules 标志。
五月君
2020/06/04
2.8K0
在使用angular2中使用nodejs创建服务器,并成功获取参数
老是遇到很多坑等着自己去填. 首先创建服务器: 1.最好使用express,这个库有更多的api,方法:npm install express --save; 2. npm install @types/express --save; 安装nodemon 可以让服务器自动重启, 方法:npm install nodemon; 在启动服务器的时候用:nodemon build/...js; 这样服务器就算启动完成了. /** * Created by Administrator on 2017/5/16.
杭州前端工程师
2018/06/15
4.3K0
在nodejs中创建cluster
在前面的文章中,我们讲到了可以通过worker_threads来创建新的线程,可以使用child_process来创建新的子进程。本文将会介绍如何创建nodejs的集群cluster。
用户2323866
2021/06/22
3.4K0
在nodejs中创建cluster
在前面的文章中,我们讲到了可以通过worker_threads来创建新的线程,可以使用child_process来创建新的子进程。本文将会介绍如何创建nodejs的集群cluster。
程序那些事
2021/01/28
3.2K0
在nodejs中创建child process
nodejs的main event loop是单线程的,nodejs本身也维护着Worker Pool用来处理一些耗时的操作,我们还可以通过使用nodejs提供的worker_threads来手动创建新的线程来执行自己的任务。
用户2323866
2021/06/22
3.3K0
在nodejs中事件循环分析
在上一篇文章在chromev8中的JavaScript事件循环分析中分析到,在chrome中的js引擎是通过执行栈和事件队列的形式来完成js的异步操作。然而在node中,事件循环表现出的状态与浏览器中大致相同。不同的是node中有一套自己的模型。node中事件循环的实现是依靠的libuv引擎。我们知道node选择chrome v8引擎作为js解释器,v8引擎将js代码分析后去调用对应的node api,而这些api最后则由libuv引擎驱动,执行对应的任务,并把不同的事件放在不同的队列中等待主线程执行。 因此实际上node中的事件循环存在于libuv引擎中。
Yerik
2022/04/11
4K0
在nodejs中创建child process
nodejs的main event loop是单线程的,nodejs本身也维护着Worker Pool用来处理一些耗时的操作,我们还可以通过使用nodejs提供的worker_threads来手动创建新的线程来执行自己的任务。
程序那些事
2021/01/28
3.6K0
在NodeJS中玩转Protocol Buffer
Protocol Buffer(下文简称protobuf)是Google提供的一种数据序列化协议,下面是我从网上找到的Google官方对protobuf的定义:
IMWeb前端团队
2019/12/04
3.3K0
在NodeJS中玩转Protocol Buffer
在NodeJS中玩转Protocol Buffer
本文作者:IMWeb link 原文出处:IMWeb社区 未经同意,禁止转载 这篇文章的代码都是基于Protobuf.js 4.x的API写的,已经跟最新的Protobuf.js 6.x不
IMWeb前端团队
2018/01/08
3.7K0
在NodeJS中玩转Protocol Buffer
在 NodeJS 中玩转 Protocol Buffer
作者:link Protocol Buffer入门教程 Protocol Buffer是个什么鬼? Protocol Buffer(下文简称protobuf)是Google提供的一种数据序列化协议,下
腾讯IVWEB团队
2017/03/13
5.3K0
使用NodeJS 搭建静态服务器
解析URL需要用到Node.js提供的url模块,它使用起来非常简单,通过parse()将一个字符串解析为一个Url对象:
九旬
2020/10/23
2K0
使用NodeJS 搭建静态服务器
nodejs 在macOS中获取显卡信息
var process = require('child_process'); exports.getGraphics = function () {     return new Promise((resolve, reject) => {         process.exec('system_profiler SPDisplaysDataType -json', ((error, stdout, stderr) => {             if (error) {              
小贝壳
2020/03/05
2.7K0
nodejs中cookie、session的使用
因为http会话的无状态性,为了标记用户的登录状态,便出现了cookie。cookie分为很多种,有普通cookie、签名cookie、json cookie等,这里主要记录下在express应用中如
用户1141560
2017/12/26
3.6K0
在pycharm中如何使用anaconda环境进行编辑_pycharm中导入pygame
2. 将pyinstaller tool加入到pycharm的 extern tool中
全栈程序员站长
2022/09/27
2.4K0
在pycharm中如何使用anaconda环境进行编辑_pycharm中导入pygame
在nodejs中使用npm包管理器
nodejs的强大一方面在于语言特性和V8引擎结合焕发的生命活力,另一方面就是强大的第三方包。除了nodejs服务端应用之外,前端的许许多多lib都加入了第三方包的阵营。
用户2323866
2021/06/22
9900
Nodejs服务器部署
虽然PHP是“世界上最好的语言。” 但是我还是喜欢JS。 凡是可以用Javascript来写的应用,最终都会用Javascript来写。 近些年Nodejs异常的火爆,因此有一些服务端也开始使用js来写了。作为前端开发工程师,nodejs也是必须要掌握的一项技能了。 最近在网上买了个云服务器,于是想搭个Node服务出来。
epoos
2022/06/06
2.6K0
【nodejs每日一讲】使用nodejs写一个代理服务器
同样我们也可以写一个websocket服务器进行测试,写完后把浏览器的代理改成代理服务器的地址就可以了。
theanarkh
2021/01/12
3990
nodejs 代理服务器_nodejs部署前端项目
将 a.html 请求地址改为 /api/b,那么发送请求的时候会自动补上主机和端口号http://localhost:3000
全栈程序员站长
2022/11/17
1.3K0
nodejs 代理服务器_nodejs部署前端项目
nodejs中如何使用流数据读写文件
在nodejs中,可以使用fs模块的readFile方法、readFileSync方法、read方法和readSync方法读取一个文件的内容,还可以使用fs模块的writeFile方法、writeFileSync方法、write方法和writeSync方法向一个文件中写入内容。
前端_AWhile
2019/08/29
6.2K0
点击加载更多

相似问题

在nodejs中使用导入,通常使用require

32

无法在模块之外使用导入语句- im试图在我的nodejs服务器中声明导入,但我不能

12

如何使用nodejs导入别名

16

在NodeJS中同时导入多个模块

20

使用NodeJs在Aerospike中进行批量导入

221
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文