tag manager instalar google typescript webpack

typescript - manager - webpack TS2304 No se puede encontrar el nombre ''Mapa'', ''Establecer'', ''Promesa''



https tag manager (12)

Como la respuesta directa al OP ya ha sido respondida, pensé que agregaría lo que me solucionó. Mi situación era ligeramente diferente, ya que no estaba usando WebPack y recibía estos errores al intentar usar tsc. La respuesta que todos los demás están dando (agregue "es6" a lib) no me la resolvió. El problema para mí fue que tenía la v9.11.1 de nodo instalada en mi máquina, pero había usado npm para tomar "@ types / node", que obtuvo la más reciente, v10 +. Una vez que desinstalé la escritura de ese nodo e instalé un archivo de escritura de nodo v9 específico, este problema se resolvió.

Tengo el siguiente webpack.config.js

var path = require("path"); var webpack = require(''webpack''); module.exports = { entry: { ''ng2-auto-complete'': path.join(__dirname, ''src'', ''index.ts'') }, resolve: { extensions: ['''', ''.ts'', ''.js'', ''.json'', ''.css'', ''.html''] }, output: { path: path.join(__dirname, ''dist''), filename: "[name].umd.js", library: ["[name]"], libraryTarget: "umd" }, externals: [ /^rxjs///, //.... any other way? rx.umd.min.js does work? /^@angular/// ], devtool: ''source-map'', module: { loaders: [ { // Support for .ts files. test: //.ts$/, loaders: [''ts'', ''angular2-template-loader''], exclude: [/test/, /node_modules//(?!(ng2-.+))/] } ] } };

y el siguiente tsconfig.json

{ "compilerOptions": { "target": "es5", "module": "commonjs", "moduleResolution": "node", "noEmitHelpers": false, "emitDecoratorMetadata": true, "experimentalDecorators": true, "sourceMap": true, "pretty": true, "allowUnreachableCode": true, "allowUnusedLabels": true, "noImplicitAny": false, "noImplicitReturns": false, "noImplicitUseStrict": false, "noFallthroughCasesInSwitch": false, "allowSyntheticDefaultImports": true, "suppressExcessPropertyErrors": true, "suppressImplicitAnyIndexErrors": true, "outDir": "dist", "baseUrl": "src" }, "files": [ "src/index.ts" ], "exclude": [ "node_modules" ], "compileOnSave": false, "buildOnSave": false }

Cuando ejecuto el comando tsc la siguiente manera, todo funciona bien.

ng2-auto-complete (master)$ tsc --declaration ng2-auto-complete (master)$

Cuando webpack comando webpack , muestra errores de compilación mecanografiada.

ng2-auto-complete (master)$ webpack ts-loader: Using [email protected] and /Users/allen/github/ng2-auto-complete/tsconfig.json Hash: bd6c50e4b9732c3ffa9d Version: webpack 1.13.2 Time: 5041ms Asset Size Chunks Chunk Names ng2-auto-complete.umd.js 24.4 kB 0 [emitted] ng2-auto-complete ng2-auto-complete.umd.js.map 28.4 kB 0 [emitted] ng2-auto-complete + 11 hidden modules ERROR in /Users/allen/github/ng2-auto-complete/node_modules/@angular/platform-browser/src/dom/dom_renderer.d.ts (18,37): error TS2304: Cannot find name ''Map''. ERROR in /Users/allen/github/ng2-auto-complete/node_modules/@angular/platform-browser/src/dom/dom_adapter.d.ts (96,42): error TS2304: Cannot find name ''Map''. ERROR in /Users/allen/github/ng2-auto-complete/node_modules/@angular/platform-browser/src/web_workers/worker/location_providers.d.ts (21,86): error TS2304: Cannot find name ''Promise''. ... ng2-auto-complete (master)$

No sé lo que me falta para la compilación de paquete web y mecanografiado.

node_modules ha sido excluido en tsconfig.json

"excluir": ["nodo_módulos"],

y las definiciones de tipo están allí en node_modules

"devDependencies": { "@types/core-js": "^0.9.32", "@types/node": "^6.0.31"

También intenté usar el directorio typings.json y typings sin éxito.

{ "globalDependencies": { "core-js": "registry:dt/core-js#0.0.0+20160725163759", "jasmine": "registry:dt/jasmine#2.2.0+20160621224255", "node": "registry:dt/node#6.0.0+20160815222444" } }

FYI, versiones

$ node --version v5.7.1 $ npm --version 3.6.0 $ tsc --version Version 2.0.0

¿Cómo me deshago de los errores webpack con el comando webpack ?


En mi caso tuve que correr:
npm install typings -g typings install
Eso resolvió mi problema


En su tsconfig.json simplemente cambie "target": "es5" a "target": "es6"


Para resolver este error, cambie las siguientes propiedades en el archivo tsconfig.json.

"lib": [ "es2018", "dom", "es5", "es6" ], "module": "es2015", "target": "es6"

Después de eso, ejecute el siguiente comando en la terminal.

npm install @types/es6-shim

ERROR RESUELTO.


Tuve que instalar los tipings core-js de npm para resolver el problema

npm install @types/core-js

explicación :
El objetivo de los paquetes @types npm es obtener definiciones de tipo con npm. El uso de estas definiciones de tipo es una característica de TypeScript 2.0 .

Los @types reemplazan las herramientas actuales, como los tipos y tsd , aunque estos seguirán siendo compatibles durante algún tiempo.


para es6 usa esto

tsc filename.ts --lib es2015


https://.com/a/44800490/9690407

npm install typings -g typings install

está en desuso en npm 5.6.0!
En su lugar, use la npm install @types/core-js .


Map , Set y Promise son características de ES6 .
En su tsconfig.json está utilizando:

"target": "es5"

Esto hace que el compilador use el es5 lib.d.ts normal, que carece de las definiciones para los tipos anteriores.

Desea usar lib.es6.d.ts :

"target": "es6"


tsconfig.json esto para trabajar en tsconfig.json , y parece funcionar sin ningún error.

"compilerOptions": { "target": "es5", "lib": ["es5", "es6", "dom"], <--- this ... }

No estoy seguro de que lib sea ​​para la función Typecript 2.0 o no, pero descubrí que hay varias bibliotecas disponibles

Del esquema de configuración del mecanografiado (tenga en cuenta la colección es2015.)

"lib": { "description": "Specify library file to be included in the compilation. Requires TypeScript version 2.0 or later.", "type": "array", "items": { "type": "string", "enum": [ "es5", "es6", "es2015", "es7", "es2016", "es2017", "dom", "webworker", "scripthost", "es2015.core", "es2015.collection", "es2015.generator", "es2015.iterable", "es2015.promise", "es2015.proxy", "es2015.reflect", "es2015.symbol", "es2015.symbol.wellknown", "es2016.array.include", "es2017.object", "es2017.sharedmemory" ] } }

Esto resuelve los errores de compilación, pero todavía me pregunto por qué el comando tsc funciona sin errores, pero webpack no. tsc busca todas las bibliotecas posibles sin usar lib por tsconfig.json ?


Si se pregunta por qué ninguna de estas soluciones funciona para usted, tenga en cuenta: si especifica el archivo para compilar en la línea de comando o package.json tsc NO leerá su archivo tsconfig.json y, por lo tanto, no tendrá ningún efecto. En su lugar, especifique los "archivos" y "outDir" en su tsconfig.json y una de las soluciones "lib" probablemente funcionará para usted. Luego compila solo con:

tsc --sourcemaps


Solo agrega:

"lib": ["es6"] // means at least ES6

No cambies el objetivo. Target se usa para indicar a Typecript en qué versión de ECMAScript compilar sus archivos .ts . Por supuesto, puede cambiarlo, si el navegador en el que se ejecutará su aplicación admitirá esa versión de ECMAScript.

Por ejemplo, uso "target": "es5" y "lib": ["es6"] .

Otra razón podría ser:

Que su archivo .ts no está en "rootDir": "./YourFolder",


tsc index.ts --lib "es6"

Si agregar lib no funciona en tsconfig.json, use la opción de línea de comando anterior