Hier ist der sehr einfache Express Standardcode, die ich geändert nur es6 Import zu verwenden, um den transpiling Prozess zu testen app.js:kann nicht ausgeführt werden babel transpiled Dateien mit Knoten
import "babel-polyfill";
import * as express from "express"
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function() {
console.log('Examdple app listening on port 3000!');
});
in .babelrc
{
"presets": [
"es2015"
],
"plugins": ["transform-runtime",
"transform-es2015-classes"]
}
Resultierende transpiled Code app-compiled.js:
"use strict";
require("babel-polyfill");
var _express = require("express");
var express = _interopRequireWildcard(_express);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function() {
console.log('Examdple app listening on port 3000!');
});
//# sourceMappingURL=app-compiled.js.map
versuchen nun,/usr/local laufen/bin/Knoten app-co mpiled.js:
var app = express();
^
TypeError: express is not a function
oder/usr/local/bin/Knoten app.js
/Users/Documents/Apps_And_Sites/Js_Apps/projectname/app.js:1
(function (exports, require, module, __filename, __dirname) { import "babel-polyfill";
^^^^^^
SyntaxError: Unexpected reserved word
Auch wenn ich den polyfill nicht ohne die Kapselung der gleiche 'importieren' Fehler ist Funktion.
Wenn das hilft, Abhängigkeiten in package.json:
"devDependencies": {
"babel-cli": "^6.9.0",
"babel-core": "^6.9.1",
"babel-eslint": "^6.0.4",
"babel-plugin-syntax-flow": "^6.8.0",
"babel-plugin-transform-class-properties": "^6.9.1",
"babel-plugin-transform-flow-strip-types": "^6.8.0",
"babel-plugin-transform-runtime": "^6.9.0",
"babel-polyfill": "^6.9.1",
"babel-preset-es2015": "^6.9.0",
"eslint-plugin-flowtype": "^2.2.7",
"flow-bin": "^0.26.0"
},
"dependencies": {
"babel-runtime": "^6.9.2",
"express": "^4.13.4"
}
}
In meinem WebStorm ide habe ich babel mit diesen Parametern festgelegt:
Programm: node_modules/babel-cli/bin/babel.js
Argumente: --source-Karten --out-Datei $ FileNameWithoutExtension $ -compiled.js $ FilePath $
Ausgangspfade aktualisieren: $ FileNameWithoutExtension $ -compiled.js: FileNameWithoutExtension $ $ -compiled.js.map
Warum nicht den babel Code transpiled laufen Knoten kann?
Danke, und wie soll ich das polyfill importieren, weil sie nicht schreiben es auf eine Variable und Verwendung import „babel zuweisen "Polyfill"; was verursacht einen Fehler? –
'importieren 'babel-polyfill';' ist das gleiche wie 'require ('babel-polyfill');' so sollten Sie es verwenden. –