javascript - RollupJS 只生成 index.js
问题描述
我在使用RollupJS时遇到了一些麻烦。
我有一个使用 typescript 、 react 、 AntDesign 的组件库,它使用汇总。
这是我的汇总配置:
import babel from 'rollup-plugin-babel';
import commonjs from 'rollup-plugin-commonjs';
import postcss from 'rollup-plugin-postcss';
import typescript from 'rollup-plugin-typescript2';
import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import url from 'rollup-plugin-url';
import postcssModules from 'postcss-modules';
import pkg from './package.json';
const cssExportMap = {};
export default {
input: 'src/index.ts',
output: [
{
file: pkg.main,
format: 'cjs',
exports: 'named',
sourcemap: true,
},
{
file: pkg.module,
format: 'es',
exports: 'named',
sourcemap: true,
},
],
external: [
{
'react': 'react',
'react-dom': 'react-dom'
},
// Make antd library styles to be external to current project
/^antd[.]*/,
],
plugins: [
peerDepsExternal(),
url(),
typescript({
exclude: ['*.d.ts', '**/*.d.ts', '**/*.stories.tsx', '**/*.spec.tsx'],
rollupCommonJSResolveHack: true,
clean: true,
}),
babel({
babelrc: false,
plugins: [['import', { libraryName: 'antd', style: true }]],
extensions: ['.js', '.jsx', '.ts', '.tsx'],
exclude: 'node_modules/**',
}),
commonjs({
include: 'node_modules/**'
}),
postcss({
plugins: [
postcssModules({
getJSON (id, exportTokens) {
cssExportMap[id] = exportTokens;
}
})
],
getExportNamed: false,
getExport (id) {
return cssExportMap[id];
},
extract: 'build/styles.css',
use: ['sass', ['less', { javascriptEnabled: true, modifyVars: {
'hack': `true; @import "./public/theme/variables.module.less"`
}}]]
})
],
};
我的 package.json 有一些脚本:
"build": "rollup -c",
"prepare": "yarn run build"
在本地一切正常,所有文件都生成了。
但是当我在 create-react-app 应用程序中使用我的库作为依赖项时。
"ui-kit": "git+https://****:x-oauth-basic@github.com/****/ui_kit_fe.git"
rollup 只在 build 文件夹中生成 index.js,
它应该是: - style.css - index.es.js - index.js.map
但他们不在那里......
解决方案
推荐阅读
- python - 在python中更改数组的内容
- android - 如何在登录屏幕出现时阻止用户返回,而不是终止活动(Firebase 身份验证)
- python - Pytorch“NCCL 错误”:未处理的系统错误,NCCL 版本 2.4.8”
- flutter - 检查 popUntil 是否可能/检查导航堆栈中是否命名路由
- apache-kafka - 为什么从 v0.6.0 升级到 v0.8.1 时 ksqldb-server 崩溃?
- selenium-webdriver - 如何知道量角器中哪个元素是陈旧的?
- java - Lambda 中的变量捕获
- javascript - 尝试从 Twilio 视频房间断开连接时出现“未捕获的 ReferenceError:房间未定义”
- laravel - Laravel 网站中的 PayPal 集成
- r - r中的词干函数