Comment le programme d'installation copie dactylographiée + Babel + Webpack?
J'ai ces dépendances:
"devDependencies": {
"@types/node": "^4.0.27-alpha",
"babel-core": "^6.10.4",
"babel-loader": "^6.2.4",
"babel-polyfill": "^6.9.1",
"babel-preset-es2015": "^6.9.0",
"babel-preset-stage-0": "^6.5.0",
"ts-loader": "^0.8.2",
"typescript": "^2.0.0",
"webpack": "^1.13.1"
}
.babelrc
{
"presets": [
"es2015",
"stage-0"
]
}
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": false,
"sourceMap": false,
"outDir": "built"
},
"exclude": [
"node_modules"
]
}
webpack.config.js
module.exports = {
entry: ['babel-polyfill', './src/'],
output: {
path: __dirname,
filename: './built/bundle.js',
},
resolve: {
modulesDirectories: ['node_modules'],
extensions: ['', '.js', '.ts'],
},
module: {
loaders: [{
test: /\.tsx?$/, loaders: ['ts-loader', 'babel-loader'], exclude: /node_modules/
}],
}
};
/src/index.ts
async function foo() {
const value = await bar();
console.log(value);
}
function bar() {
return new Promise((resolve, reject) => {
return resolve(4);
});
}
(async function run() {
await foo();
}());
Avec cette installation, il fonctionne, je peux construire et exécuter (journaux 4 correctement). Cependant, je suis toujours quelques erreurs sur webpack:
ERROR in ./src/index.ts
(4,32): error TS2304: Cannot find name 'regeneratorRuntime'.
ERROR in ./src/index.ts
(6,12): error TS2304: Cannot find name 'regeneratorRuntime'.
ERROR in ./src/index.ts
(31,451): error TS2346: Supplied parameters do not match any signature of call target.
ERROR in ./src/index.ts
(40,33): error TS2304: Cannot find name 'regeneratorRuntime'.
ERROR in ./src/index.ts
(41,12): error TS2304: Cannot find name 'regeneratorRuntime'.
Il semble qu'elle ait quelque chose à voir avec babel-polyfill
.
Ce qui me manque?
OriginalL'auteur BrunoLM | 2016-07-12
Vous devez vous connecter pour publier un commentaire.
C'est un symptôme que la sortie de
babel
est assez pourts
. Cet ordre est malFixer
Utiliser le programme d'installation comme décrit ici : http://blog.johnnyreilly.com/2015/12/es6-typescript-babel-react-flux-karma.html
OriginalL'auteur
Chargeurs exécute toujours de droite à gauche, de sorte qu'un changement de
Résolu le problème, car il va exécuter
ts-loader
premier.Plein webpack.config.js fichier
Exemple de projet brunolm/tapuscrit-babel-webpack
OriginalL'auteur
Babel 7 n'a pas besoin de ts-loader.
De Babel 7 la
ts-loader
est inutile, car Babel 7 comprend Tapuscrit. Les détails complets d'un Tapuscrit + Babel7 + Webpack d'installation sont ici.Une vue d'ensemble de la mise en place sans ts-loader.
Installer Babel du Tapuscrit de soutien. Seulement
@babel/preset-typescript
est obligatoire; les trois autres d'ajouter des fonctionnalités supplémentaires que la Machine prend en charge.Configurer les autres
.babelrc
plugins et de presets.Et mise à jour de votre
webpack.config.js
(le reste du code est omis pour plus de clarté).Belle prise. J'ai mis à jour la réponse.
C'est la bonne réponse^ avec le déménagement de babel@7.
OriginalL'auteur