在routes.js 中意外导入令牌

赛拉姆

我正在努力学习react + express这是我遵循的文件夹结构。

app
 -client
   -components
     -home.jsx
 -nodemodules
 -server
 -config.js        
 -package.json
 -routes.js

**Package.json :

{
  "name": "job-application",
  "version": "1.0.0",
  "description": "making a website using MERN ",
  "main": "nodemon config.js",
  "scripts": {
      "start": "node config.js"
  },
  "repository": {
      "type": "git",
      "url": "git+https://github.com/devarashetty/webApplication.git"
  },
  "author": "sairam",
  "license": "ISC",
  "bugs": {
      "url": "https://github.com/devarashetty/webApplication/issues"
  },
  "devDependencies": {
      "babel-core": "^6.0.14",
      "babel-loader": "^6.0.0",
      "webpack": "^1.12.2",
      "webpack-dev-server": "^1.12.1"
  },
  "dependencies": {
      "express": "3.x",
      "http": "*",
      "react": "*",
      "react-dom": "*",
      "react-router": "*",
      "react-router-dom": "*",
      "react-router-config": "*",
      "nodemon": "*",
      "mongodb": "*",
      "semantic-ui-react": "*"
  },
  "homepage": "https://github.com/devarashetty/webApplication#readme"
}

路由.js

import HomePage from './client/components/home';

我收到错误。Unexpected token import这背后的原因是什么。我认为导入是 javascript 中可用的默认函数

配置文件

var http = require("http");
var mongodb = require("mongodb");
var app = require('express')();
var server = require('http').Server(app);
var routes = require("./routes.js");
var Router = require('react-router');

server.listen(8000);

app.use(function(req, res, next) {
  console.log("------------", req.url);
  var router = Router.create({
      location: req.url,
      routes: routes
  });
  router.run(function(Handler, state) {
      var html = React.renderToString( < Handler / > )
      return res.render('react_page', {
          html: html
     })
  })
});

var MongoClient = mongodb.MongoClient;
var url = 'mongodb://localhost:27017/catering';

MongoClient.connect(url, function(err, db) {
   if (err) {
       console.log('Unable to connect to the mongoDB server. Error:',     err);
   } else {
       console.log('Connection established to', url);

       db.close();
   }
});
哈里·拉米哈尼

这是一个有效的解决方案,可能不是最好的解决方案:)

首先在您的package.json更改start密钥中,如下所示。

"start": "node ./bin/www"

现在创建一个文件夹binwww里面有一个文件[注意:它没有任何扩展名]

把下面的代码放在里面 www

#!/usr/bin/env node
require("babel-register")({
  presets: ["es2015", "react"],
});
var app = require('../app');
app.set('port', process.env.PORT || 3000);
app.listen(app.get('port'));

四,重命名config.js,以app.js添加module.exports = app在文件的结尾

确保您的package.json[版本可以更新] 中有这些依赖项

"babel-cli": "^6.18.0",
"babel-core": "^6.18.2",
"babel-loader": "^6.2.8",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.11.1",

现在您可以import在除上面使用的文件之外的其他文件中使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章