gpt4 book ai didi

javascript - 带有反应模块的 Webpack 给出了意外的 token

转载 作者:数据小太阳 更新时间:2023-10-29 04:04:16 25 4
gpt4 key购买 nike

一直在尝试使用 react-spin npm 模块,但是当我尝试使用 webpack 构建 bundle.js 时,我收到以下错误:

Module parse failed: /Users/nir/browsewidget/node_modules/react-spin/src/main.js Line 29: Unexpected token <
You may need an appropriate loader to handle this file type.
| render: function() {
| return (
| <span ref="container" />
| );
| }
@ ./js/widget.jsx 4:14-35

我猜这个模块里面有jsx,但是不明白为什么建不出来?构建 bundle 时,react-spin 是否需要一些额外的配置?

这是我的完整webpack.config.js:

module.exports = {
entry: "./js/widget.jsx",
output: {
path: __dirname,
filename: "bundle.js"
},
module: {
loaders: [
{
test: /\.jsx$/,
loader: 'jsx-loader?insertPragma=React.DOM&harmony'
}
]
},
externals: {
//don't bundle the 'react' npm package with our bundle.js
//but get it from a global 'React' variable
'react': 'React'
},
resolve: {
extensions: ['','.js','.jsx']
}
};

最佳答案

您的加载器配置为仅转换以 .jsx 结尾的文件:

 test: /\.jsx$/,

(美元符号表示字符串结束。)

你可以把它改成

test: /\.jsx?$/,

同时转换 .js.jsx 文件,但是通过 JSX 加载器运行 node_modules 中的每个 JavaScript 文件可能会相当慢.

我相信您应该能够为 /node_modules/ 设置一个 exclude 选项,然后为您关心的特定模块设置一个 include 选项关于 (react-spin),但最好的解决方案是包在已发布的 JavaScript 版本中不使用 JSX——react-spin 的作者可能对为此拉取请求。 (编辑:看来已经有一个了,参见 thomasboyt/react-spin#3 )

最后,react-spin is very small ,所以你可以考虑在你自己的项目中自己实现它(这样你就不必担心 webpack 加载器问题)。

关于javascript - 带有反应模块的 Webpack 给出了意外的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374451/

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