Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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,无需吞咽、网页包ect-仅限节点_Javascript_Node.js_Webpack_Babeljs_Transpiler - Fatal编程技术网

Javascript 传输、捆绑和缩小JS,无需吞咽、网页包ect-仅限节点

Javascript 传输、捆绑和缩小JS,无需吞咽、网页包ect-仅限节点,javascript,node.js,webpack,babeljs,transpiler,Javascript,Node.js,Webpack,Babeljs,Transpiler,虽然我不反对使用Webpack来构建我的JS(这很好),但我只是想知道如何自己去做 过去我曾使用过一个GULP脚本,后来才搬到Webpack,但这让我很沮丧,我需要考虑很多小事情。p> 首先,我需要使用browserify,通过babelify和es2015预设运行文件来转换我的JS,然后将其捆绑。显然,browserify的bundle方法返回一个可流化的对象,需要将其转换回gulp喜欢的其他类型的流,然后对其进行“缓冲”,以便稍后缩小。那滔滔不绝的谈话总是把我绊倒 我在想这样的事情可能有用:

虽然我不反对使用Webpack来构建我的JS(这很好),但我只是想知道如何自己去做

过去我曾使用过一个GULP脚本,后来才搬到Webpack,但这让我很沮丧,我需要考虑很多小事情。p> 首先,我需要使用browserify,通过babelify和es2015预设运行文件来转换我的JS,然后将其捆绑。显然,browserify的bundle方法返回一个可流化的对象,需要将其转换回gulp喜欢的其他类型的流,然后对其进行“缓冲”,以便稍后缩小。那滔滔不绝的谈话总是把我绊倒

我在想这样的事情可能有用:

我的任务:

const code = babel.transformFileSync(
    filename,
    {
        presets: ['babel-preset-env'],
        ignore: ['node_modules/'],
        sourceMaps: true
    }
);
var result = uglifyjs.minify(code.code);
我的剧本

const myArr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
myArr = myArr.filter( e => e % 2 ==0 );
console.log(myArr);
但它窒息了。似乎巴贝尔不喜欢在我的脚本中使用“const”

node_modules/babel-plugin-check-es2015-constants/lib/index.js:35
            throw violation.buildCodeFrameError(messages.get("readOnly", name));
所以这是一个问题,然后我需要找出如何捆绑我的脚本,无论我是否使用require('./custom module.js')或import*from'other custom module.js'

我已经阅读了,它没有提到任何关于本机传输功能的内容。也许这就是为什么babel和webpack构建npm模块以便将这些功能添加到NodeJ的原因

我认为可能您没有加载这段代码:

node_modules/babel-plugin-check-es2015-constants/
因为您忽略了
/node\u modules
文件夹中的所有内容

我认为,如果您正在运行的babel版本不支持const,那么您可以使用webpack并搜索适当的配置,从2015年到现在,有一些模块将const转换为var声明

这是一个很酷的网页教程--->

希望对您有所帮助:)

我已经阅读了,但它没有提到任何关于本机传输功能的内容。也许这就是为什么babel和webpack构建npm模块以便将这些功能添加到NodeJ的原因

我认为可能您没有加载这段代码:

node_modules/babel-plugin-check-es2015-constants/
因为您忽略了
/node\u modules
文件夹中的所有内容

我认为,如果您正在运行的babel版本不支持const,那么您可以使用webpack并搜索适当的配置,从2015年到现在,有一些模块将const转换为var声明

这是一个很酷的网页教程--->


希望对您有所帮助:)

如果您使用const声明变量,则只能在声明时为其赋值

线路

myArr = myArr.filter( e => e % 2 ==0 );
如果myArr为const,则为非法

关于第二个问题:通常babeljs应该将任何
import
转换为
require
。捆绑这些是现在棘手的部分,也是像webpack这样的东西存在的原因。您可以查看哪些产品侧重于捆绑销售


此外,你还必须注意操作顺序。如果您首先绑定,您只需在之后使用es6传输整个绑定。

如果您使用常量声明变量,则只能在声明时分配给它

线路

myArr = myArr.filter( e => e % 2 ==0 );
如果myArr为const,则为非法

关于第二个问题:通常babeljs应该将任何
import
转换为
require
。捆绑这些是现在棘手的部分,也是像webpack这样的东西存在的原因。您可以查看哪些产品侧重于捆绑销售

此外,你还必须注意操作顺序。如果您首先绑定,那么您可以在之后使用es6简单地传输整个绑定