Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS包发布者能否指向模块的相对目录?_Javascript_Node.js_Npm_Es6 Modules - Fatal编程技术网

Javascript JS包发布者能否指向模块的相对目录?

Javascript JS包发布者能否指向模块的相对目录?,javascript,node.js,npm,es6-modules,Javascript,Node.js,Npm,Es6 Modules,我最近开始构建同构包,其中包含为node.js传输的.esm和.jsx文件,同时也可供webpack等捆绑包使用。我知道,通过在package.json中提供、main、module或browser键,我可以为消费者指明正确的方向。例如 // package.json { "name": "react-patterns", "version": "0.0.1", "main": "dist/components/index.js", "browser": "components/

我最近开始构建同构包,其中包含为node.js传输的.esm和.jsx文件,同时也可供webpack等捆绑包使用。我知道,通过在package.json中提供、main、module或browser键,我可以为消费者指明正确的方向。例如

// package.json
{
  "name": "react-patterns",
  "version": "0.0.1",
  "main": "dist/components/index.js",
  "browser": "components/index.js",
  ...
当index.js导出组件列表时,这将很好地工作,例如

// index.js

import Image from './Image';
import Button from './Button';
export { Image, Button }

// consumer.js

import { Button } from 'react-patterns';
但是为了变得懒惰(或者写更少的会计代码),在我的package.json中写这样的东西可行吗

// package.json
{
  "name": "react-patterns",
  "version": "0.0.1",
  "main": "dist/components",
  "browser": "components",
  ...
把Button.js和Image.js模块放在目录的顶部?因此,消费者可以做类似于从“lodash/merge”导入合并的事情

// consumer.js

import Button from 'react-patterns/Button';
也许有点深奥,甚至是糟糕的做法?不管怎样,我还没有看到有人在教程中提到这一点,也没有人问过这么多问题。星期五的问题,对吗