gpt4 book ai didi

javascript - JS : enabling export/import on client side (ES6 or using babel)?

转载 作者:行者123 更新时间:2023-11-29 21:02:20 26 4
gpt4 key购买 nike

我想在应用程序目录中导出/导入本地文件:

我的 index.html :

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
</head>
<body>
<script type="text/babel" src="main.js"></script>
</body>
</html>

actions.js :

export const ADD_TODO = 'ADD_TODO'
export const TOGGLE_TODO = 'TOGGLE_TODO'
export const SET_VISIBILITY_FILTER = 'SET_VISIBILITY_FILTER'

main.js (从 index.html 加载):

import {ADD_TODO, TOGGLE_TODO, SET_VISIBILITY_FILTER} from 'actions'

现在如果我在没有 babel 的情况下使用 javascript,我将得到:

Uncaught SyntaxError: Unexpected token import

我使用 Chrome 浏览器版本 60。这个版本不应该已经支持 ES6 了吗?通过支持,我应该能够使用导出/导入?

我还尝试使用 babel(使用从 index.html 加载的独立 babel)。

然后我得到这个错误:

Uncaught ReferenceError: require is not defined
at <anonymous>:4:16
at n (https://unpkg.com/babel-standalone@6.15.0/babel.min.js:12:27049)
at r (https://unpkg.com/babel-standalone@6.15.0/babel.min.js:12:27558)
at e.src.i.(anonymous function).error (https://unpkg.com/babel-standalone@6.15.0/babel.min.js:12:27873)
at XMLHttpRequest.i.onreadystatechange (https://unpkg.com/babel-standalone@6.15.0/babel.min.js:12:27316)

我明白 require在客户端不存在,但不是 ES6 的导出/导入(不是 NodeJS 导出)语法吗?..

我需要求助于 webpack 之类的东西吗?这行得通吗?

根据这个答案:Trying ES6 imports with Chrome but it doesn't seem to work你需要启用 Experimental Web Platform在 Chrome 中标记并使用 <script type="module" src="main.js"></script> .但是使用它,停止加载任何东西。似乎浏览器只是忽略了这种类型。即使这种方法可行,我想那时我也无法使用 babel,因为它会使用不同的类型?

附言根据这个:http://2ality.com/2014/09/es6-modules-final.html#named-exports-several-per-module它应该工作..

最佳答案

90+% of all browsers 现在支持

import/export 语句并将在未来继续 ( see this SO question )。

如何使用

在模块 (myModule.js) 中:

const myVar = 'Hello !!';
export {
myVar
}

在 index.html 中

<script type="module">
import myVar from './myModule.js'
console.log(myVar) // output 10
</script>

This is a good article on how to use it

关于javascript - JS : enabling export/import on client side (ES6 or using babel)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45904907/

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