Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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 如何使用Babel将所有包含的文件编译成一个文件?_Javascript_Node.js_Ecmascript 6_Babeljs - Fatal编程技术网

Javascript 如何使用Babel将所有包含的文件编译成一个文件?

Javascript 如何使用Babel将所有包含的文件编译成一个文件?,javascript,node.js,ecmascript-6,babeljs,Javascript,Node.js,Ecmascript 6,Babeljs,我正在我的项目中使用巴贝尔。问题是,我的server.js中有这行代码: import schema from "./data/schema"; (data/schema.js采用ES2015语法) 当我试图用babel编译我的server.js时,如下所示: babel -o server_production.js --minified server.js 它生成一个没有错误的新文件,并将导入指令替换为要求。但问题是,当我试图用节点运行babel编译的server.js时,它会抱怨数据

我正在我的项目中使用巴贝尔。问题是,我的
server.js中有这行代码:

import schema from "./data/schema";
data/schema.js
采用ES2015语法)

当我试图用babel编译我的
server.js
时,如下所示:

babel -o server_production.js --minified  server.js
它生成一个没有错误的新文件,并将
导入
指令替换为
要求
。但问题是,当我试图用
节点运行babel编译的
server.js
时,它会抱怨
数据/schema.js
,因为它没有被传输到ES5中,只是需要(确切的错误是
意外的标记“导入”
,因为我在
数据/schema.js
中使用了一些其他导入)


所以,问题是:如何将我的文件和它导入的所有文件编译成一个文件?我尝试了
babel-o server\u production.js——缩小数据/schema.js server.js
,但也没有成功。

babel默认情况下不捆绑依赖项。您需要使用模块绑定器,如

为此,您需要定义一个与此类似的
rollup
配置:

rollup.config.js

import babel from 'rollup-plugin-babel';
import babelrc from 'babelrc-rollup';

export default {
  entry: 'server.js',
  dest: 'server_production.js',
  plugins: [
    babel(babelrc())
  ]
};
这适用于下面定义的
package.json
文件:

{
  "scripts": {
    "rollup": "./node_modules/.bin/rollup -c"
  },
  "devDependencies": {
    "babel-cli": "6.14.0",
    "babel-plugin-external-helpers": "6.8.0",
    "babel-preset-es2015": "6.14.0",
    "babelrc-rollup": "3.0.0",
    "rollup": "0.35.10",
    "rollup-plugin-babel": "2.6.1"
  }
}
您可以执行命令
npm run rollup-c
来绑定和编译文件


您可以在这里找到一个示例:

您可以使用以下解决方案使用Babel将所有包含的文件编译成一个文件:

npx babel src --out-file script-compiled.js

我不认为巴贝尔做依赖性分析。您必须指定要转换的所有文件。
npm run rollup
足够了吗有人更新了Babel 7的此过程吗?具体来说,
rollup.config.js
需要不同的属性,而
babel plugin external helpers
不再兼容。我们很高兴最终发现有人尝试了同样的方法,但却对一个3年前就已经过时的答案感到失望。我得到了
[!]错误:您必须提供选项。输入到rollup