node-sass在React项目中是开发还是生产依赖项?
在React项目中,node-sass是开发依赖还是生产依赖?
这个问题的出现是因为在构建生产版本时,需要使用node-sass,所以它应该被列在生产依赖列表中。根据我的经验,大多数情况下,项目会从头开始构建生产版本,因此需要所有构建所需的包。
开发依赖可能是像webpack-dev-server这样的工具,在生产构建中不需要,但在开发过程中会使用(假设有使用它)。
这种观点有一定道理,但并不意味着我们有相同的观念。从我的角度来看,它是一个开发依赖,因为它可以帮助将SASS转译为CSS - 在运行生产代码时不需要,就像axios一样。
我不一定同意这个观点,因为在官方的Node网站上,Babel被认为是一个开发依赖。
Sass不在浏览器中使用,它是一个构建工具,用于将.scss和.sass文件编译为CSS。
解决方法:
根据个人的开发习惯和项目需求,可以将node-sass作为开发依赖或生产依赖。
代码示例:
"devDependencies": {
"node-sass": "^4.14.1",
"webpack-dev-server": "^3.11.0"
},
"dependencies": {
"axios": "^0.21.1"
}
这样做可以根据项目的特定需求,灵活决定将node-sass作为开发依赖还是生产依赖。
问题的原因是官方的sass文档以及Node官方网站上的建议。解决方法是将sass和Babel都作为开发依赖项安装。
在官方的sass文档中,建议将sass作为开发依赖项安装,并且可以全局安装。根据这个建议,我认为这是正确的做法。
此外,在Node官方网站上也建议将Babel作为开发依赖项安装。我认为,Babel可能是创建生产构建所需的包。考虑到这一点,我认为所有在应用程序运行时不需要的包都应该作为开发依赖项安装。
根据以上建议,我认为将node-sass作为开发依赖项安装是正确的做法。在React项目中,可以通过以下命令安装node-sass作为开发依赖项:
npm install node-sass --save-dev
这样做可以确保在开发过程中可以使用sass,并且不会将其打包到最终的生产构建中。这样可以减小最终构建的大小,并且避免在运行时加载不必要的依赖项。
,将node-sass作为开发依赖项安装可以保持项目的整洁性,减小最终构建的大小,并且遵循官方文档和指南的建议。这是在React项目中正确使用node-sass的方法。