0

我对 webpack .po加载器有疑问。

我正在做的是

**package.json **

- "json-loader": "^0.5.7",
- "po-loader": "^0.4.2",
- "po2json": "^1.0.0-alpha",

webpack 入口文件中,我正在收集我的.po文件(以及所有其他 .js、.css 等)

运行yarn build webpack 后编译所有文件(我的 .po 文件在里面) 在此处输入图像描述

然后我在解析时遇到这个错误(请参阅下面的 webpack 配置文件,我在加载器中有po 加载器

为什么?

在此处输入图像描述

webpack 配置文件中,我有加载器(po2json

Webpack.config 在这里

module.exports = {
  devtool: 'eval',
  // all different pages are defined here
  entry,
  output: {
    path: path.join(__dirname, './webroot/dist'),
    filename: '[name].js',
    chunkname: '[name].js',
    publicPath: 'http://localhost:80/dist/',
  },

  resolve: {
    extensions: ['', '.webpack.js', '.web.js', '.jsx', '.js', '.po'],
  },

  module: {
    loaders: [
      {
        test: /\.js(x?)$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
      },
      {
        test: /\.css$/,
        loader: 'style!css?url=false',
      },
      {
        test: /\.po$/,
        loader: 'json!po'
      },
      {
        test: /\.json$/,
        loader: 'json-loader'
      },
    ],
  },
...

谢谢!

4

1 回答 1

0

我对 webpack 4.35.3 和 po-loader 0.5.0 也有类似的问题。

我没有使用json-loader,因为较新的 webpack 版本没有必要。Webpack 现在可以“本地”加载 JSON 文件。

对我来说,问题是po-loader返回一个字符串化的 JSON 对象,但 webpack 实际上并不知道返回的输出是 JSON 而不是 JavaScript。

配置加载程序时设置typejson修复此问题。

例如:

  module: {
    rules: [
      {
        test: /\.po$/,
        type: "json", // This line fixes the problem
        use: [{
            loader: 'po-loader'
        }]
      }
    ]
于 2019-08-23T09:03:20.470 回答