2017-09-28 31 views
0

我正尝试创建一个纯ES6应用程序,用于以node/express作为Web服务器的学习目的。我使用模块导入,它可以正常工作,因为你可以在server.js文件中看到,但是当我在index.html中使用这些脚本时,他没有获取转译文件并调用'Uncaught SyntaxError':我的问题是,如何我可以从index.html访问转储的文件吗?index.html不加载来自babel的transpiled javascript

server.js文件:

import express from 'express' 

const port = 3000 
const app = express() 

app.set("view options", {layout: false}); 

app.use(express.static(__dirname + '/src')); 

app.get('/', function(req, res) { 
    res.render('index.html'); 
}); 

app.listen(port,()=>{ 
    console.log("server running in port "+ port) 
}) 

的package.json文件:

{ 
    "name": "ntn", 
    ... 
    "scripts": { 
    "start": "nodemon server.js --exec babel-node" 
    }, 
    "dependencies": { 
    "express": "^4.15.4", 
    "nodemon": "^1.12.1" 
    }, 
    "devDependencies": { 
    "babel-cli": "^6.26.0", 
    "babel-core": "^6.26.0", 
    "babel-preset-env": "^1.6.0", 
    "babel-register": "^6.26.0", 
    "jasmine": "^2.8.0" 
    } 
} 

index.html文件:

<!DOCTYPE html> 
<html lang="en"> 
<head> ... </head> 
<body> 
    <h1>Hello Word!</h1> 
    <script src="pages/member/MemberController.js"></script> 
</body> 
</html> 

MemberController.js文件:

import { MemberView } from 'MemberView' 

export class MemberController{ 

    constructor(){ 

    } 
} 

回答

0

您是否正在使用带有babel的webpack将ES6代码转换为ES5代码?一旦你安装了webpack,就有一个叫做“babel-loader”的加载器,它为你做了转换。