小编ldo*_*doc的帖子

在没有外部依赖关系的情况下在NPM中发布React组件模块的正确方法是什么?

我正在尝试在NPM中发布一个用React创建的组件库.

我不希望它具有外部依赖性,甚至是React模块,以使文件大小最小,并且因为用户将在应用程序中添加此依赖项.

我正在使用npmwebpack管理依赖项.

  • 这是我的package.json依赖:

    "devDependencies": {
        "webpack": "^1.13.1",
        "webpack-dev-server": "^1.14.1",
        "webpack-merge": "^0.13.0",
        "babel-core": "^6.9.1",
        "babel-loader": "^6.2.4",
        "babel-preset-es2015": "^6.6.0",
        "babel-preset-react": "^6.5.0",
        "babel-preset-react-hmre": "^1.1.1",
        "react": "^15.0.2",
        "react-dom": "^15.0.2"
      },
     "peerDependencies": {
       "react": "^15.0.2",
       "react-dom": "^15.0.2"
     }
    
    Run Code Online (Sandbox Code Playgroud)
  • 在我的webpack.config.js文件中,我的入口点为'component.jsx',输出为'lib.js'文件

    // Source code entry
    entry: {
      lib: './src/components/component.jsx'
    },
    
    // Code Output 
    output: {
      path: PATHS.build,
      filename: 'lib.js'
    },
    
    Run Code Online (Sandbox Code Playgroud)
  • 我还在反应模块中包含了"externals"属性,以避免webpack包含在'lib.js'输出中.

    externals: {
      'react': 'React',
      'react-dom' : 'ReactDOM'
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 最后,这是我想要发布的简单React组件:

    import React from 'react';
    
    export default class Component …
    Run Code Online (Sandbox Code Playgroud)

dependencies components npm reactjs

8
推荐指数
1
解决办法
2604
查看次数

标签 统计

components ×1

dependencies ×1

npm ×1

reactjs ×1