--save로 설치된 모듈을 보면 종속 항목으로 표시됩니다.
그리고 종속성의 모듈은 프로덕션 환경의 종속성을 나타냅니다. jQuery와 같은.
하지만 제가 이해하지 못하는 것은 jQuery를 예로 들어보겠습니다. 종속성에서 종속성을 선언해야 하는 이유는 무엇입니까?
프로덕션 환경에서는 전혀 의존성 없이 스크립트 태그를 직접 사용하여 jQuery를 참조하겠습니다. 프로덕션 환경이 의존하는 모듈이 종속성에서 선언되면 어떻게 되나요? 스크립트 태그가 자동으로 추가되나요? 예를 들어 모듈을 패키징할 때, 프로덕션 환경 모듈을 패키징할 때 종속성의 모든 종속성이 패키징되나요? 그런데 제가 아는 한, 예를 들어 webpack 모듈을 패키징할 때 require 모듈이 생성한 의존성 그래프를 기반으로 패키징을 하게 되는데 왜 프로덕션 환경의 의존성을 dependency에 선언해야 하는지 잘 이해가 되지 않습니다.
我想大声告诉你2017-06-21 10:13:57
실제 개발에서는 많은 모듈을 사용합니다. 일부 모듈(gulp, babel 등은 devDependency에 있음)은 개발 환경에서만 사용되는 반면, jquery는 프로덕션 환경에서 사용됩니다. 프로덕션 환경에서 npm install --production을 실행하면 종속성 있는 모듈만 설치되므로 매우 편리합니다.
PHP中文网2017-06-21 10:13:57
사실 해당 필드는 노드용으로 설계되었으므로 작성 여부는 중요하지 않습니다.
좀 더 구체적으로 말하면 프런트 엔드 프로젝트로서 종속성은 패키지화되거나 스크립트 태그로 도입되므로 deps 필드에 있는 내용은 최종 코드에 전혀 영향을 미치지 않습니다.
天蓬老师2017-06-21 10:13:57
사용하는 경우 <script>
加入模块的话,这个引入JS/CSS的方法本身用不到npm包管理
,可以直接忽略package.json
구성 문제
webpack
进行打包。webpack在模块打包时是根据require的模块创建的依赖图表来打包的,这的确没错。但是之后还有一步,就是webpack通过依赖图表进行打包的时候,如果依赖图表里有jQuery依赖,webpack还是要去找jQuery的文件,然后注入到打包的文件之中。如果你不写dependencies的话,在团队开发中,另一个人改了一点代码,然后用npm install
와 같은 종속성 패키지를 설치한 후 다시 패키지하면 webpack은 jQuery에 의존하는 종속성 그래프를 생성하지만 webpack은 node_modules의 대상 파일에 삽입할 jQuery 코드를 찾을 수 없으므로 다시 패키지하면 실패합니다. 물론, 당신이 유일한 발전자라면 이것을 무시할 수 있습니다.
물론 종속성에는 이전에 작성한 node.js 크롤러와 같은 다른 애플리케이션이 있습니다. 이 크롤러는 노드를 직접 사용하여 JS 코드를 실행하므로 require는 JS 파일에 이러한 종속성을 설치한 후에만 해당 패키지를 읽을 수 있습니다. require()
的包都需要写在dependencies里,部署的时候用npm install
淡淡烟草味2017-06-21 10:13:57
페이지 개발을 위해서는 webpack을 사용해야 하기 때문에 node를 사용하셔도 될 것 같습니다. 그렇지 않으면 종속성과 스크립트 간의 관계에 대해 묻지 않을 것입니다. 둘 사이에는 아무런 연관성이 없습니다.
여기에는 3가지 항목이 혼합되어 있습니다.
package.json의 종속성 관리
webpack의 종속성 관리
html로 스크립트 소개
node는 페이지 개발뿐만 아니라 서버 프로그램 개발, JS 라이브러리 개발 등 다양한 작업에도 사용할 수 있습니다. 종속성은 에서 프로젝트를 사용할 때 프로젝트의 종속성을 기록하고 보장합니다. 에서 프로젝트를 개발할 때 종속성을 기록하고 보장합니다. 예를 들어 라이브러리를 개발하고 NPM에 게시할 준비를 하고 있습니다.
를 사용해야 하는 경우 devDependency에는 babel 및 eslint가 포함됩니다.
lodash.sample
,开发时使用es6,并且还使用eslint对代码风格进行规范。那么dependencies中就有lodash.sample
종속성은 누구나 우리 라이브러리를 설치할 때
lodash.sample
都会被安装(否则这个库将无法正确运行);devDependencies保证任何人在(或者你自己在其他设备上)对这个项目进行修改(开发)时,通过npm install
webpack의 종속성 관리
require
여전히 위의 라이브러리 예제를 사용하여 패키징에 webpack을 사용할 수 있습니다(그러면 devDependency에 webpack이 있어야 합니다). 전화를 해도.
HTML로 스크립트 소개npm install --save
了其他十几个模块,webpack时,也只会将lodash.sample
이유는: 이러한 종속성이 기록되지 않으면 다른 사람(또는 다른 장치의 사용자 자신)이 다시 개발할 때 프로젝트에 어떤 종속성을 도입해야 하는지 알 수 없어 개발이 불가능하기 때문입니다. 한 사람이고 컴퓨터를 전환하지 않는 경우에는 종속성을 사용할 필요가 없습니다.
淡淡烟草味2017-06-21 10:13:57
工作环境改变
的时候,你的项目要是想正常运行。必须声明依赖,这样不管在哪里,只需要一句npm install
작업 환경을 복원하고 모든 종속성을 해결할 수 있습니다