我有兴趣了解如何构建github中的@shopify/polaris项目并将其发布到npm
。我的主要问题是:
index.es.js
和index.js
个文件?这些是以编程方式在我的计算机上生成的,还是以这样的方式发布到npm
?.npmignore
。下面我有npm
包中的文件和github,你可以看到它们不同。
以下是polaris
项目在通过NPM /纱线安装时的样子。
.
├── CHANGELOG.md
├── README.md
├── index.es.js
├── index.js
├── package.json
├── src
├── styles
├── styles.css
├── styles.scss
└── types
这是github上项目的样子。
.
├── CHANGELOG.md
├── README.md
├── circle.yml
├── config
├── documentation
├── examples
├── package.json
├── scripts
├── src
├── tests
├── tsconfig.json
├── tslint.json
└── yarn.lock
答案 0 :(得分:0)
我们使用Rollup为Polaris生成不同的条目文件。您可以在此处查看我们的通用配置文件:https://github.com/Shopify/polaris/blob/master/config/rollup/index.js。请注意,它完成了编译TypeScript源文件(使用TypeScript和Babel)的所有工作,并开始根据需要捆绑CSS和图标所需的工作。然后,此配置生成器运行三次,您可以在此处看到:https://github.com/Shopify/polaris/blob/master/scripts/build.js#L36-L38
main
条目文件(.js
,并为我们的CDN吐出CSS)module
条目文件(.es.js
)embedded
条目文件然后我们将这些复制到NPM发布的最终位置。
至于我们如何控制NPM包中的文件,我们使用package.json
中的files
key; these are the relevant lines