Css 全局安装React应用程序时,无法在其中包含引导

Css 全局安装React应用程序时,无法在其中包含引导,css,reactjs,twitter-bootstrap,npm,npm-install,Css,Reactjs,Twitter Bootstrap,Npm,Npm Install,我使用npmi-g bootstrap安装了bootstrap,并尝试将bootstrap包含在React应用程序中import“bootstrap/dist/css/bootstrap.css” 然而,它抛出了一个错误 Failed to compile. ./src/index.js Module not found: Can't resolve 'bootstrap/dist/css/bootstrap.css' in '/home/username/nodeProjects/react

我使用
npmi-g bootstrap
安装了
bootstrap
,并尝试将
bootstrap
包含在React应用程序中
import“bootstrap/dist/css/bootstrap.css”

然而,它抛出了一个错误

Failed to compile.

./src/index.js
Module not found: Can't resolve 'bootstrap/dist/css/bootstrap.css' in '/home/username/nodeProjects/react-app/src'
但是当我实际在本地安装它时,我将它作为
npm bootstrap
导入,并作为
import“bootstrap/dist/css/bootstrap.css”导入,它正在按预期工作


npm
包在全局和本地安装时,是否有任何不同的导入方法?或者我是否做错了什么?

您需要
npm安装-g bootstrap
这将在全局安装bootstrap

然后,您可以使用
npm-link
,因此在您的情况下
npm-link-bootstrap
可以创建一个指向已全局安装的包的本地链接。(注意:操作系统必须支持符号链接。)

要查看所有全局包及其位置,请执行以下操作:

npm list -g 
使用
npm list-g | head-n1
进行截断输出,仅显示路径

npm install命令不支持全局安装模块并一步将其保存到package.json

但是,有一种方法可以间接地全局安装模块。package.json支持以下预安装属性:

"scripts": {
  "preinstall": "npm install -g bootstrap"
}

一旦执行npm安装,将在全局范围内安装引导程序。请注意,您的当前用户需要权限才能写入全局节点模块目录。

为什么需要全局引导?它所需的依赖关系i将假定,本地包的导入通常仅在本地节点_modules目录内搜索包(未验证)。我不确定您是否真的需要全局安装bootstrap,因为最好保持系统干净,并且只在每个项目中安装依赖项。全局安装的包不会记录在package.json文件中,因此当您转到生产并运行npm时,将不会为您安装bootstrap,并且会出现问题。但您不认为它应该像导入时所有其他
global
模块一样工作吗?全局包有一个不同的位置,您需要包括该路径