检查使用导入的Express.js应用

时间:2018-09-08 17:30:25

标签: node.js express node-modules

我有一个包含index.js中内容的应用程序:

import express from 'express';
import data from './data/data.json';

const app = express();
const PORT = 3000;

如何出于测试目的访问data变量?

SO(node -i -e "$(< index.js)")上给出的

This answer返回以下错误:

import express from 'express';
        ^^^^^^^

SyntaxError: Unexpected identifier

我在Node 10.8和Express 4.16.3上。

在Rails中,将为您提供一个交互式控制台(通过运行rails console),您可以在其中与环境“玩转”(db等)。

2 个答案:

答案 0 :(得分:2)

这是因为导入语句稍后出现,所以不会被编译器/浏览器识别。
您可以将babel用作转译器https://babeljs.io/  要么 试试这个

var express = require('express');
var data = require('./data/data.json');

const app = express();
const PORT = 3000;

修改


使您的package.json文件如下所示(安装软件包并通过添加babel-node更改脚本)

    {.....
      "scripts": {
      ....
      "start": "babel-node Server.js"
      ...  
   },
"devDependencies": {
    "babel-cli": "^6.8.0",
    "babel-core": "6.8.0",
    "babel-loader": "6.2.4",
    "babel-preset-es2015": "6.6.0",
    "babel-preset-react": "6.5.0",
    "babel-preset-react-hmre": "1.1.1",
     .....}


在项目的根目录中创建 .babelrc 文件(项目的node_module所在的位置)

{
"presets": ["react","es2015"],
"env": {
    "development": {
                                    "presets": [
                                                            "react-hmre"
                                                            ]
                                }
                }
}  

并运行

npm start

答案 1 :(得分:0)

const express = require('express');
const data = require('./data/data.json');

const app = express();
const PORT = 3000;

我认为这应该可行。