由babel生成的Webpack 2动态导入文件

时间:2018-01-03 11:02:42

标签: webpack dynamic-import

当前设置

  1. create-react-app
  2. 创建的设置中使用React的Webpack
  3. Babel React Intl pluginManager提取翻译字符串
  4. 所需行为

    babel插件生成一个文件,其中包含必须翻译的所有提取的字符串。到现在为止还挺好。当webpack和babel正在运行时(解析和编译代码)会发生这种情况。

    我想requiremessages.json文件生成到我的代码中,因为我必须在运行时将该文件发送到API。

    所以我想使用动态导入的Webpack 2功能如下:

    export const getTranslations = (language) => {
        import('translations/en.json').then(messages => { ... do stuff ...})
    }
    

    问题

    Webpack当然不能在编译时找到该文件,因此抱怨:

    Module not found: Can't resolve 'translations/en.json'

1 个答案:

答案 0 :(得分:0)

如果你的文件在你的文件夹中(所以不在node_modules中),它的路径应该写成相对的:

export const getTranslations = (language) => {
  import('./translations/en.json').then(messages => { ... do stuff ...})
}

做这项工作吗?