首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack 2-无法在字符串上创建属性'mappings‘

Webpack 2-无法在字符串上创建属性'mappings‘
EN

Stack Overflow用户
提问于 2017-03-09 22:42:47
回答 4查看 1.5K关注 0票数 2

正在从工作的Webpack v1配置迁移到Webpack 2。但在尝试运行构建时遇到错误:

代码语言:javascript
复制
 ERROR in ./src/index.jsx
 Module build failed: TypeError: /home/pierce/Projects/my-js-app/src/index.jsx: Cannot create property 'mappings' on string 

我已经更新了我的加载器以匹配新的格式:

代码语言:javascript
复制
module: {
  rules: [
    {
      test: /\.(js|jsx)$/,
      exclude: /node_modules/,
      loader: "babel-loader"
    },
    {
      test: /\.(jpg|png)$/,
      loader: 'file-loader',
      query: {
        name: '[path][name].[hash].[ext]',
      },
    },
    { 
      test: /\.css$/, 
      loader: "style-loader!css-loader" 
    },
    {
      test: /\.scss$/,
      use: [
        { 
          loader: 'style-loader' 
        },
        { 
          loader: 'css-loader'
        }, 
        { 
          loader: 'sass-loader',
          options: { sourceMap: true } 
        }
      ]
    },
    {
      test: /\.(woff|woff2|eot|ttf|svg)(\?v=\d+\.\d+\.\d+)?/, 
      loader: 'url-loader',
      query: { 
        limit: 100000
      }
    },
    { 
      test: /\.icon-svg$/, 
      use: [{loader:'babel-loader'}, {loader: 'svg-react-loader'}] 
    },
    // Bootstrap 3
    { 
      test: /bootstrap-sass\/assets\/javascripts\//, 
      loader: 'imports-loader?jQuery=jquery' 
    }
  ]
},

这就好像有些东西没有按照以前的方式进行编译,因此导致了TypeError。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-09 23:10:23

原来我当了两次婴儿保姆。

如果您还将 webpack.config.js 拆分为不同环境的单独文件,请确保 webpack.dev.config.js 不包含 babel-loader 条目(如果您的 webpack.base.config.js 包含)。

否则,如果第二次使用加载程序两次,将导致错误。这不是Webpack 2错误,而是webpack small configs-and-missing-a small-thing错误

票数 7
EN

Stack Overflow用户

发布于 2017-08-12 14:55:05

在我的编译过程中遇到了类似的问题。发现我在.js.jsx上都使用了babel loader。

删除了.jsx,并按预期正常工作。

我的webpack.config.js代码片段如下所示。

代码语言:javascript
复制
{
    test: /\.js$/,
    exclude: [/(node_modules)/],
    use: [
        {
            loader: 'react-hot-loader'
        },
        {
            loader: 'babel-loader',
            options: {
                presets: ['react', 'es2015', 'stage-0'],
                plugins: [
                    'transform-class-properties',
                    'transform-decorators-legacy'
                ]
           }
        }
    ]
}
票数 1
EN

Stack Overflow用户

发布于 2018-01-15 07:35:54

为了防止其他人遇到同样的问题,我不得不从装载器中删除以下代码才能使其正常工作

代码语言:javascript
复制
     {
       test: /\.jsx?$/,
       use: ['react-hot-loader/webpack']
     }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42698214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档