首页 > 解决方案 > 使skypack成功构建带有JSX的npm包需要什么?

问题描述

我发布了一个 NPM 包,但 skypack 出于某种原因对它不满意,我不知道为什么。

加载https://cdn.skypack.dev/cytoscape-react@1.0.6重定向到https://cdn.skypack.dev/error/build:cytoscape-react@v1.0.6-pQwJpOFuFHUhInF8ChMh说:

 *   [1/5] Verifying package is valid…
 *   [2/5] Installing dependencies from npm…
 *   [3/5] Building package using esinstall…
 *   Running esinstall...
 *   @rollup/plugin-replace: 'preventAssignment' currently defaults to false. It is recommended to set this option to `true`, as the next major version will default this option to `true`.
 *   Failed to load node_modules/cytoscape-react/src/graph_wrapper.js
 *     Unexpected token (48:12) in cytoscape-react/src/graph_wrapper.js
 *   Install failed.
 *   Install failed.

第 48 行字符 12 显然是 JSX 开始的地方,所以它对 JSX 不满意,但我不确定它想从我这里得到什么。我试过给它一个babel.config.jspm

{
  "presets": ["@babel/preset-react"]
}

它有 dev 依赖package.json项,我也尝试了 babel config package.json

如果我在以下位置进行 webpack 配置,我可以构建一个包:

    'module': {
        'rules': [{
            'test': /\.(js|jsx)$/,
            'exclude': /node_modules/,
            'use': {
                'loader': 'babel-loader',
                'options': {
                    'presets': ['@babel/preset-react'],
                },
            },
        }],
    },

Skypack 有一个信息页面https://www.skypack.dev/view/cytoscape-react突出了一些问题,但我认为没有什么会导致这类问题......

标签: javascriptnode.jsreactjsnpmskypack-cdn

解决方案


推荐阅读