gpt4 book ai didi

ecmascript-6 - es6 模块是否否定了对 browserify/webpack 的需求?

转载 作者:行者123 更新时间:2023-12-04 05:06:07 24 4
gpt4 key购买 nike

ES6 模块允许我们创建可以作为依赖项导出和导入的代码模块。

Browserify 和 Webpack 做同样的事情。那么我是否正确地假设如果我使用 ES6 和 babel 之类的东西来转换我的代码,那么不需要 webpack 和 browserify?

最佳答案

如果在浏览器中使用,目前还需要 webpack 或 browserify。

让我们看一个例子:

以下

import * as name from 'name.js';

变成:
'use strict';

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }

var _nameJs = require('name.js'); // Here, a function named "require" is still needed

var name = _interopRequireWildcard(_nameJs);

Check it out in the Babel Repl

如你所见,babel 依赖于 CommonJS方法 require (实际上是它的任何实现)进行导入。由于 node.js 实现了 CommonJS,它可以工作,但目前没有浏览器实现它。 AFAIK 没有 any browsers that support ES 6 Modules natively任何一个。

关于ecmascript-6 - es6 模块是否否定了对 browserify/webpack 的需求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33276058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com