Как манипулировать и использовать npm init & package.json - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть новый проект с AngularJS , я клонирую существующий проект с основным мастером ветки (master -> origin) (essential-react@0.3.0).Я запускаю npm init и у меня есть файл package.json.После этого у меня появляются некоторые предупреждения при вводе npm audit, которые я исправил с помощью npm i --package-lock-only.

Создан новый файл package-lock.json.Может кто-нибудь даст мне более подробную информацию о полезности этого файла, пожалуйста.
И еще объяснения по поводу npm init и package.json файла.

Ответы [ 3 ]

0 голосов
/ 19 февраля 2019

npm init используется для настройки нового или существующего пакета npm.Так почему это важно для вас?Итак, поскольку вы создаете новый проект Angular с использованием различных библиотек npm, вам потребуется файл package.json для управления указанными зависимостями .Так что npm init помогает вам, создавая новый файл package.json в вашем текущем каталоге.С учетом сказанного, какова цель этого package.json файла?Итак, package.json файл содержит важные метаданные о вашем проекте , такие как имя вашего проекта, версия и список пакетов, от которых зависит ваш проект.Это важно, потому что это делает построение вашего проекта воспроизводимым, и, следовательно, его проще делить с другими разработчиками. Так что, если позже вы поделитесь своим новым Angular-проектом на GitHub, кто-то может построить ваш проект с его стороны, загрузивнеобходимые зависимости, перечисленные в вашем package.json.( Примечание: это именно то, что вы сделали, когда бежали: npm i --package-lock-only) И наконец, какой смысл в этом файле package-lock.json?Этот файл автоматически генерируется для любых операций , где npm изменяет либо дерево node_modules, либо package.json. Что это значит?Это означает, что npm генерирует этот файл для вас, когда вы вносите изменения в свой Angular-проект, которые влияют на воспроизводимость построения вашего проекта для других .Короче говоря, это позволяет другим продолжать строить и выполнять ваш проект, когда вы вносите новые важные изменения в ваш проект .

Надеюсь, это поможет!

0 голосов
/ 20 февраля 2019

@ Натан Это сделано (у).Еще раз спасибо.Когда я набираю yo angular для установки клиента, у меня после выполнения появляется следующее:

+ karma-jasmine@2.0.1                                                                
+ jasmine-core@3.3.0                                                                 
+ phantomjs-prebuilt@2.1.16                                                          
+ karma@4.0.0                                                                        
+ karma-phantomjs-launcher@1.0.4                                                     
added 171 packages from 551 contributors and audited 15612 packages in 57.415s       
found 78 vulnerabilities (35 low, 12 moderate, 30 high, 1 critical)                  
run `npm audit fix` to fix them, or `npm audit` for details

Каковы эти типы уязвимостей ==> low,умеренный, высокий или критический ?
У вас есть идея, пожалуйста?

0 голосов
/ 19 февраля 2019

package-lock.json описывает все дерево зависимостей, которое требуется вашему проекту.Вы можете увидеть подробности об этом в документации по npm.

https://docs.npmjs.com/files/package-lock.json

package-lock.json автоматически генерируется для любых операций, где npm изменяет либо дерево node_modules, либо package.json.Он описывает точное дерево, которое было сгенерировано, так что последующие установки могут генерировать идентичные деревья, независимо от промежуточных обновлений зависимостей.

...