@rollup/plugin-commonjs 怎么安装
时间: 2023-12-15 13:04:02 浏览: 35
你可以使用 npm 来安装 @rollup/plugin-commonjs,命令如下:
```
npm install @rollup/plugin-commonjs --save-dev
```
注意需要在项目根目录下执行该命令,并且需要在项目中使用 Rollup 打包工具。如果你还没有安装 Rollup,也需要先安装 Rollup。
相关问题
vite 中使用 rollup-plugin-commonjs
在Vite中使用`rollup-plugin-commonjs`插件可以帮助我们处理CommonJS模块的导入和使用。下面是使用`rollup-plugin-commonjs`的步骤:
1. 首先,确保你已经在项目中安装了Vite和`rollup-plugin-commonjs`插件。可以使用以下命令进行安装:
```
npm install vite rollup-plugin-commonjs --save-dev
```
2. 在Vite项目的根目录下创建一个`vite.config.js`文件,并在其中配置`rollup-plugin-commonjs`插件。示例配置如下:
```javascript
import commonjs from '@rollup/plugin-commonjs';
export default {
plugins: [
commonjs()
]
}
```
3. 保存并关闭`vite.config.js`文件。
现在,当你在Vite项目中导入和使用CommonJS模块时,`rollup-plugin-commonjs`插件会自动将其转换为ES模块,以便在浏览器中正确加载和使用。
使用@rollup/plugin-commonjs时不想把某一个包打包进去,应该怎么配置
### 回答1:
你可以在 `rollup.config.js` 中的 `input` 选项中排除掉那个包,例如:
```
input: ['main.js', '!excluded-package.js']
```
你也可以在 `rollup.config.js` 中的 `external` 选项中指定那个包是外部依赖,例如:
```
external: ['excluded-package']
```
这样 Rollup 就不会把那个包打包进去了。
注意:`external` 选项的值可以是一个函数,这个函数接收一个参数表示模块的名字,返回一个布尔值表示这个模块是否为外部依赖。这样你就可以动态地控制哪些模块是外部依赖,哪些模块不是。
例如:
```
external: (id) => id.startsWith('lodash/')
```
这样配置后,所有以 `lodash/` 开头的包都不会被打包进去。
### 回答2:
当使用@rollup/plugin-commonjs插件时,如果不希望将某个包打包进最终输出的文件中,可以通过以下方式进行配置:
1. 在rollup配置文件(通常为rollup.config.js)中,找到对@rollup/plugin-commonjs的相关配置部分。
2. 在该配置部分中,寻找到"exclude"或"include"选项。
- 如果存在"exclude"选项,可以将要排除的包的路径添加到该选项中。可以使用glob模式匹配,以指定一组要进行排除的包。例如,如果要排除lodash包,可以配置为:
```javascript
commonjs({
exclude: 'node_modules/lodash/**'
})
```
- 如果不存在"exclude"选项但存在"include"选项,可以将要包含的需要打包的包的路径添加到该选项中。这样,仅添加到"include"选项中的包会被打包,其他包则会被排除。例如,如果只想打包axios包,可以配置为:
```javascript
commonjs({
include: 'node_modules/axios/**'
})
```
- 如果既不存在"exclude"选项,也不存在"include"选项,则需要手动添加一个"exclude"选项,并以数组形式提供要排除的包的路径。
```javascript
commonjs({
exclude: ['node_modules/package-to-exclude', 'node_modules/another-package-to-exclude']
})
```
请确保包的路径是正确的,并符合实际项目中node_modules文件夹中包的布局。
通过上述配置,可以成功地将不想打包进最终输出文件中的包从@rollup/plugin-commonjs的处理范围中排除掉。