Al intentar crear un nuevo proyecto sin servidor usando el cli
sls create -t aws-nodejs -p testfolderEl marco sin servidor crea:
¿Por qué no se incluye un paquete.json y también por qué solo se crea/genera un archivo package-lock.json al instalar paquetes npm, por ejemplo, lodash?
Ejecutando lo siguiente:
npm install --save lodashsolo crea una carpeta node_module y un archivo package-lock.json. No hay ningún archivo package.json. Tratando de entender por qué, ya que este no es el caso con:
sls create -t aws-nodejs-typescript -p test nvm: 0.39.1 node: v14.19.3 npm: 6.14.17 sls Framework Core: 3.21.0 Plugin: 6.2.2 SDK: 4.3.2Gracias por tomarse el tiempo de leer esto.
Sí, el marco probablemente podría crear un package.json para ti cuando creas un nuevo proyecto de nodejs. Sin embargo, hay varios casos en los que un usuario no necesitaría ningún módulo de nodo, por lo que tiene sentido no proporcionar un archivo package.json a menos que el usuario instale otras dependencias.
La plantilla de mecanografiado es un poco diferente, porque Serverless Framework tiene un sistema de complementos que se basa en npm , por lo que agregar un complemento requerirá un archivo package.json para rastrear la dependencia.
Entonces, cuando ejecuta sls create -t aws-nodejs-typescript , genera automáticamente un archivo serverless.yml que incluye el complemento serverless-esbuild y, por lo tanto, crea un archivo package.json que lo rastrea. La plantilla de mecanografiado también incluye un montón de dependencias de desarrollo, que también se rastrean a través de npm.