繁体   English   中英

无法使用webpack导入aws-sdk,并且npm安装了aws-sdk

[英]Can't import aws-sdk using webpack, and npm installed aws-sdk

我在导入aws-sdk(或使用webpack构建它)时遇到问题

我的代码是

var config = require('./config')
var AWS = require('aws-sdk');
AWS.config.region = config.region;

这会导致构建错误:

./node_modules/aws-sdk/apis/cognito-identity-2014-06-30.min.json中的错误模块解析失败:在'module.exports = {“v ..附近解析时,位置0的JSON中出现意外的令牌m ''您可能需要一个合适的加载器来处理这种文件类型。

多次。

如果我使用代码

var config = require('./config')
var AWS = require('aws-sdk/dist/aws-sdk');
AWS.config.region = config.region;

我得到一个控制台错误

未捕获的TypeError:无法设置未定义的属性“region”

我的webpack文件是:

module.exports = { 
  entry: 'entry.js',
  // Place output files in `./dist/my-app.js`
  output: {
    path: __dirname + '/dist',
    filename: 'my-app.js'
  },  
  resolve: {.
      extensions: [ '.js', '.json', '.jsx'].
  },  
  module: {
    rules: [
      {   
        test: /\.json$/,
        loader: 'json-loader'
      }   
    ]   
  }
};

我的package.json是:

{
  "private": true,
  "dependencies": {
    "amazon-cognito-identity-js": "^2.0.9",
    "aws-sdk": "^2.261.1",
    "crypto-browserify": "^3.12.0",
    "js-cookie": "^2.2.0",
    "webpack-dev-server": "^3.1.4"
  },
  "devDependencies": {
    "json-loader": "^0.5.7",
    "webpack": "^4.12.0",
    "webpack-cli": "^3.0.8"
  },
  "scripts": {
    "build": "webpack --mode development",
    "serve": "webpack-dev-server --mode development --port 3000"
  }
} 

目前Webpack存在一个未解决的问题: https//github.com/webpack/webpack/issues/7082

添加type: 'javascript/auto'到你的Webpack配置为json文件解决它暂时:

  {
    type: 'javascript/auto',
    test: /\.json$/,
    use: 'json-loader'
  },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM