javascript - 将reactjs组件作为 Node 模块导出到npm时,我是否包含jsx或js

标签 javascript node.js npm gulp reactjs

我一直在创建一些 React.js 组件并将它们作为模块发布到 npm。

我正在使用以下 gulp 任务,使用 gulp-react 将所有 jsx 组件转换为 js:

var react = require('gulp-react');

gulp.task('react', function () {    
  return gulp.src('./jsx/*.jsx')
    .pipe(react({
      harmony: true
    }))
    .pipe(gulp.dest('./js/'));
});

因此,在我发布的模块中,我在 js 和 jsx 文件夹中有组件。

我的问题是将主文件指向我的 package.json 中哪个更好?

js

"main": "js/todo.js",

jsx

"main": "jsx/todo.jsx",

我假设如果我将他们指向 jsx 那么他们将需要安装 gulp-react,那么我会将其添加到peerDependency 中吗?

最佳答案

好问题,经典问题“我是否在我的存储库中包含构建工件?”的一个特例。我倾向于指向 JS 文件,因为包/依赖关系管理器的要点是,当你发布东西时,其他人应该能够立即安装并开始使用,而不必自己考虑依赖关系。例如:

我在命令行上安装我的包:

$ npm install something

打开 Node repl并且:

> var something = require('something');
undefined
> something.functionallity(1, 2, 3);
...whatever, but you wouldn't like an error now...

关于javascript - 将reactjs组件作为 Node 模块导出到npm时,我是否包含jsx或js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28356623/

相关文章:

node.js - 让 forEach 里面的 exec 函数一一执行

node.js - 如何使用 Sequelize 更新我的购物车数据库中的商品数量(如果它已经存在)或如果不存在则创建它?

Node.js 从应用程序内运行 MongoDB

node.js - 跨环境/dist/index.js :42 unexpected token }

javascript - 如果存在则附加 url 参数,如果不存在则添加 jQuery

javascript - 使用 Express REST API 编辑帖子

javascript - 如何从 nodejs 中的项目文件加载 Teachable Machine 姿势模型

javascript - innerHTML 不适用于 iPhone

node.js - 全局 webpack 安装与项目特定的 webpack 安装

javascript - 当你在 Javascript 中执行 "import someModuleName from someModule"时会发生什么