4

概要

Webpack Dev Server を使用してアプリをロードすると、メッセージが正常に表示されます: \. ただし、アプリケーションをディスクにバンドルしnginx、 を介してバンドルをサーバーに送信すると、バックスラッシュが重複しています: \\

詳細

react-intl@2.2.3 (現時点では最新) とbabel-plugin-react-intl@2.3.1 (現時点では最新) を使用しています。私の目標は、文字を使用してデフォルトのメッセージを定義し、\任意の方法 ( 、 など) でレンダリングすることFormattedMessageですformatMessage

Webpack / Babel を使用してアプリをバンドルしています。webpack.config.jsファイルにBabel / react-intl 固有の構成はありませんが、またはDefinePluginに設定process.envするために使用します'development''production'

Webpack Dev Server を使用してアプリをロードすると、メッセージが正常に表示されます: \. ただし、アプリケーションをディスクにバンドルし、 経由nginxでバンドルを提供すると、バックスラッシュが重複しています: \\。ここに次の指示があります: https://github.com/yahoo/babel-plugin-react-intl/issues/13#issuecomment-151944191 4\文字を使用して最終\文字を表示することに関して。

価値のあるものとして、JSX 文字列、JS 文字列、1、2、および 4\文字の使用、および考えられるその他のばかげた組み合わせを使用してみました。

ヒントや提案は大歓迎です。ありがとうございました。

コードサンプル

メッセージの定義方法の例

import { defineMessages } from 'react-intl'


export default defineMessages({
  message: {
    id: 'anyId',
    defaultMessage: '\\\\',
  },
})

メッセージをレンダリングする方法の例

<FormattedMessage { ...messages.anyID } /></span>

別の例も機能しません

<FormattedMessage id='anyId' defaultMessage='\\' />

さらに別の失敗例:

<FormattedMessage id='anyId' defaultMessage={ '\\\\' } />
4

1 に答える 1