Describe el error
Si intento compilar mi aplicación TypeScript con webpack, obtengo un error para cada configuración regional que "../moment" no se puede resolver.
Este error se repite para todas las demás configuraciones regionales:
ERROR in ./node_modules/moment/locale/km.js
Module not found: Error: Can't resolve '../moment' in 'C:\PROGS\dev\var\private\moment-test\node_modules\moment\locale'
@ ./node_modules/moment/locale/km.js 5:50-70
@ ./node_modules/moment/locale sync ^\.\/.*$
@ ./node_modules/moment/moment.js
@ ./src/app.ts
Reproducir
src / app.ts
import * as moment from "moment";
console.log(moment().format("YYYY"));
package.json
{
"private": true,
"dependencies": {
"moment": "2.23.0"
},
"devDependencies": {
"awesome-typescript-loader": "5.2.1",
"typescript": "3.2.2",
"webpack": "4.28.3",
"webpack-cli": "3.2.1"
}
}
tsconfig.json
{ "include": [ "./src/" ] }
webpack.config.js
module.exports = {
entry: "./src/app.ts",
output: { filename: "bundle.js" },
resolve: { extensions: [".ts"] },
module: { rules: [ { test: /\.ts$/, use: { loader: "awesome-typescript-loader" } } ] }
}
Comportamiento esperado
yarn run webpack -p
debería funcionar sin ningún error.
Entorno específico de un momento
Ejecute el siguiente código en su entorno e incluya el resultado:
console.log((new Date()).toString())
console.log((new Date()).toLocaleString())
console.log((new Date()).getTimezoneOffset())
console.log(navigator.userAgent)
console.log(moment.version)
¡Este código falla con los mismos errores!
Gracias por abrir esta solicitud.
Esta es una gran pregunta para Stack Overflow .
Esto es un error, ¿no? Stack Overflow es bueno para la pregunta, pero nadie solucionará los errores allí.
Interpreto que su respuesta significa que no es compatible con WebPack con TypeScript. ¡Demasiado!
Hay varios tutoriales en Internet sobre el uso de Moment con Webpack y TypeScript. Parece que muchos otros los usan juntos muy bien. Si más personas tienen este problema y hay suficiente conocimiento de la comunidad para solucionarlo, entonces podemos intentar hacerlo.
Por cierto, tuve el mismo problema: parece ser causado por lugares de momento, que no me importaron. Encontré una solución en este artículo en
complementos: [nuevo paquete web.IgnorePlugin (/^.\/ locale $ /, / moment $ /)]
Este parece un escenario de uso bastante común, por lo que recomendaría vincular a la página anterior desde la sección TypeScript de los documentos .
@ authguidance-examples ¡Los RP son bienvenidos en https://github.com/moment/momentjs.com !
Estaba enfrentando el mismo problema, aquí estaba el problema:
npm i --save react-moment
, que se acaba de agregar en el archivo package.json
pero lib no estaba allí en node_modules, así que para hacerlo ejecutonpm install --save moment react-moment
¿Alguien sabe por qué siempre se muestran como "hace unos segundos"? cualquiera que sea la fecha
agregué el momento en reactjs: import * as moment from "moment"; y en la inyección de dependencia agregó: "momento": "2.23.0", pero obteniendo el
error indefinido ... en reactjs,
Amablemente ayuda ...
¿Por qué no está cerrada esta sucursal? Último comentario el 2 de diciembre de 2019. @marwahaha
Comentario más útil
Estaba enfrentando el mismo problema, aquí estaba el problema:
npm i --save react-moment
, que se acaba de agregar en el archivopackage.json
pero lib no estaba allí en node_modules, así que para hacerlo ejecutonpm install --save moment react-moment