【问题标题】:Inspect an Express.js app that uses import检查使用 import 的 Express.js 应用程序
【发布时间】:2019-02-13 16:54:16
【问题描述】:

我有一个在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 等人)。

【问题讨论】:

    标签: node.js express node-modules


    【解决方案1】:

    这是因为导入语句稍后出现,因此无法被编译器/浏览器识别。
    你可以使用 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_modules 所在的位置)
    {
    "presets": ["react","es2015"],
    "env": {
        "development": {
                                        "presets": [
                                                                "react-hmre"
                                                                ]
                                    }
                    }
    }  
    

    然后运行

    npm start
    

    【讨论】:

    • 谢谢!你有什么建议我将如何使用 babel 作为转译器来使导入工作?
    • @Fellow Stranger 你在用 node.js 吗?
    • 是的,我使用的是 Node 10.8 和 Express 4.16.3。
    • 抱住我的熊,让我试试。
    • @Fellow Stranger 我编辑了答案。您现在可以在项目中使用导入。如果仍然有任何错误,请询问
    【解决方案2】:
    const express = require('express');
    const data = require('./data/data.json');
    
    const app = express();
    const PORT = 3000;
    

    我认为这应该可行。

    【讨论】:

      猜你喜欢
      • 2012-01-16
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 2017-07-06
      • 2020-04-20
      • 2012-06-13
      • 2015-07-26
      相关资源
      最近更新 更多