簡體   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