Min*_*Duc 1 reactjs webpack babeljs
在我的本地环境中,unicode 字符工作正常,但是当我运行 webpack 进行捆绑和部署时,类似于“\uf00c”的字符串变成了“?” 在 index_bundle.js 中
我认为 babel 配置或 webpack 配置存在问题,但我无法解决它,因为我是整个堆栈的新手。
这是代码:
<Label className="switch switch-icon switch-pill switch-success">
<Input type="checkbox" className="switch-input" defaultChecked onChange={this.handleActivateUser.bind(this, user.id)}/>
<span className="switch-label" data-on={'\uf00c'} data-off={'\uf00d'}></span>
<span className="switch-handle"></span>
</Label>
Run Code Online (Sandbox Code Playgroud)
我的 .babelrc:
{
"presets": [
["env"], ["react"]
],
"plugins": ["transform-class-properties", "transform-object-rest-spread"]
}
Run Code Online (Sandbox Code Playgroud)
还有我的 webpack.config.js:
var path = require('path');
var HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const extractCSS = new ExtractTextPlugin('[name].fonts.css');
const extractSCSS = new ExtractTextPlugin('[name].styles.css');
const webpackUglifyJsPlugin = require('webpack-uglify-js-plugin');
var webpack = require('webpack');
config = {
entry: ['babel-polyfill', 'whatwg-fetch', './app/index.js'],
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'index_bundle.js',
publicPath: '/'
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: 'babel-loader'
},
{
test: /\.(scss)$/,
use: ['css-hot-loader'].concat(extractSCSS.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
options: {alias: {'../img': '../public/img'}}
},
{
loader: 'sass-loader'
}
]
}))
},
{
test: /\.css$/,
use: extractCSS.extract({
fallback: 'style-loader',
use: 'css-loader'
})
},
{
test: /\.(png|jpg|jpeg|gif|ico)$/,
use: [
{
// loader: 'url-loader'
loader: 'file-loader',
options: {
name: './img/[name].[hash].[ext]'
}
}
]
},
{
test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
use: [
{
// loader: 'url-loader'
loader: 'file-loader',
options: {
name: './fonts/[name].[hash].[ext]'
}
}
]
}
]
},
devServer: {
historyApiFallback: true
},
plugins: [
new HtmlWebpackPlugin({
template: 'app/index.html'
}),
extractCSS,
extractSCSS,
new CopyWebpackPlugin([
{from: './public/img', to: 'img'}
],
{copyUnmodified: false}
)
]
}
module.exports = config;
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案。您需要设置您的 javascript 文件UTF-8。你可以这样做
<script type="text/javascript" charset="UTF-8" src="xyz.js"></script>
Run Code Online (Sandbox Code Playgroud)
或者
<head>
...
<meta charset="UTF-8">
...
</head>
Run Code Online (Sandbox Code Playgroud)
为您所有的 HTML 文件
| 归档时间: |
|
| 查看次数: |
2777 次 |
| 最近记录: |