如何在typescript中导入存储在外部文件变量中的字符串值,而不会丢失特殊字符内容?

时间:2018-06-07 15:01:30

标签: javascript typescript webpack character-encoding

我正在导入存储在单独文件.ts中的变量,此文件包含特殊字符,特别是法语或西班牙语等语言的重音字符。

我遇到的问题是,一旦我需要它,内容就会丢失特殊的字符内容,用典型的Ã*代替它。

到目前为止,我已经在原始文本中使用unicodes和/或HTML实体解决了这个问题,但我想在没有它的情况下维护原始文本并改为使用一些解析函数(或其他解决方案)。

如何在不需要更改原始文本编码的情况下维护内容?

这是我的情况的一个简单例子:

·mainScript.ts:

  public getDataVar() {
    const data = require('./data.ts');
    console.log('data', data); // here the content is already wrong
    return data;
  }

·data.ts:

export var data = {
  'example': 'El cielo está nublado. Probablemente lloverá'
}

P.S。:改变流程的解决方案受到欢迎,但我理想的是要保持我获取这些数据的方式。

谢谢!

1 个答案:

答案 0 :(得分:0)

我终于解决了这个问题,添加了webpack-encoding-plugin插件并将此规范添加到webpack.config.js文件中:

var EncodingPlugin = require('webpack-encoding-plugin');
module.exports = {
[...]
    plugins: [
          new EncodingPlugin({
          encoding: 'utf16'
        })
    ]
}