axios 未定义
Axios is not defined
我正在使用 axios 通过 React.js 构建一个简单的天气应用程序。我刚刚完成了代码,但是有一个问题。当我启动该应用程序时,它根本不工作,我看到一个参考错误,上面写着 axios is not defined
.
这是我的 webpack.config.js 文件:
module.exports = {
entry: './public/app/app.jsx',
output: {
path: __dirname,
filename: './public/js/bundle.js'
},
externals: ['axios'],
resolve: {
root: __dirname,
alias: {
OpenWeatherMap: 'public/components/OpenWeatherMap.jsx',
Main: 'public/components/Main.jsx',
Nav: 'public/components/Nav.jsx',
Weather: 'public/components/Weather.jsx',
WeatherForm: 'public/components/WeatherForm.jsx',
WeatherMessage: 'public/components/WeatherMessage.jsx',
About: 'public/components/About.jsx'
},
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [{
loader: 'babel-loader',
query: {
presets: ['react','es2015', 'stage-0']
},
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/
},{
loader: 'json-loader',
test: /\.json?$/
}]
}
};
和package.json文件:
{
"name": "weather",
"version": "1.0.0",
"description": "Simple Weather App",
"main": "ext.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Milad Fattahi",
"license": "ISC",
"dependencies": {
"axios": "^0.16.1",
"express": "^4.15.3",
"json": "^9.0.6",
"json-loader": "^0.5.4",
"react": "^15.5.4",
"react-dom": "^15.5.4",
"react-router": "^4.1.1",
"react-router-dom": "^4.1.1"
},
"devDependencies": {
"babel-core": "^6.5.1",
"babel-loader": "^6.2.2",
"babel-preset-es2015": "^6.5.0",
"babel-preset-react": "^6.5.0",
"babel-preset-stage-0": "^6.24.1",
"webpack": "^1.12.13"
}
}
我知道这看起来很明显,但请确保文件顶部有对正确 axios 的引用或安装它
https://www.npmjs.com/package/axios
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
我忘了导入 axios。我在脚本的顶部添加了:
import axios from 'axios';
我也忘记安装axios了。我通过 npm 安装了 axios 使用:
npm i axios --global
// --global flags will save you the stress of insstalling axios again.
解决了我的错误。
我想首先你必须安装
npm install axios --save
然后将其导入 app.js 文件
import axios from "axios";
您可以在 javascript 文件的顶部添加:
const axios = require('axios').default;
https://unpkg.com/axios/dist/axios.min.js <<在我的 html (script src="")
中链接了这个
查看 npm 网站是否有变化https://www.npmjs.com/package/axios
然后我从我的 js 中删除了以下行...
const axios = require('axios')
我再也没有问题了!
已接受的答案包括三种主要补救措施,但还有第四种可能的补救措施。我将重复已经引用的完成
补救措施 1
在根项目文件夹中,安装Axios:
npm i axios --global
补救措施2
在使用axios的.js
文件中,导入axios:
import axios from 'axios';
补救措施3
从您的 webpack.config
中删除 externals: ['axios']
补救措施4
您不是通过 spelling/case 错误开始调用 axios。您可能会调用类似 await Axios
的内容,而不是正确的调用 await axios
.
像 this 这样的一些教程会造成案例拼写错误,这会给毫无戒心的新手带来极大的痛苦
第 1 阶段:
使用终端或 CMD 安装 Axios:
npm install axios --global
第 2 阶段:
将库导入您的 .js
import axios from 'axios';
我正在使用 axios 通过 React.js 构建一个简单的天气应用程序。我刚刚完成了代码,但是有一个问题。当我启动该应用程序时,它根本不工作,我看到一个参考错误,上面写着 axios is not defined
.
这是我的 webpack.config.js 文件:
module.exports = {
entry: './public/app/app.jsx',
output: {
path: __dirname,
filename: './public/js/bundle.js'
},
externals: ['axios'],
resolve: {
root: __dirname,
alias: {
OpenWeatherMap: 'public/components/OpenWeatherMap.jsx',
Main: 'public/components/Main.jsx',
Nav: 'public/components/Nav.jsx',
Weather: 'public/components/Weather.jsx',
WeatherForm: 'public/components/WeatherForm.jsx',
WeatherMessage: 'public/components/WeatherMessage.jsx',
About: 'public/components/About.jsx'
},
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [{
loader: 'babel-loader',
query: {
presets: ['react','es2015', 'stage-0']
},
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/
},{
loader: 'json-loader',
test: /\.json?$/
}]
}
};
和package.json文件:
{
"name": "weather",
"version": "1.0.0",
"description": "Simple Weather App",
"main": "ext.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Milad Fattahi",
"license": "ISC",
"dependencies": {
"axios": "^0.16.1",
"express": "^4.15.3",
"json": "^9.0.6",
"json-loader": "^0.5.4",
"react": "^15.5.4",
"react-dom": "^15.5.4",
"react-router": "^4.1.1",
"react-router-dom": "^4.1.1"
},
"devDependencies": {
"babel-core": "^6.5.1",
"babel-loader": "^6.2.2",
"babel-preset-es2015": "^6.5.0",
"babel-preset-react": "^6.5.0",
"babel-preset-stage-0": "^6.24.1",
"webpack": "^1.12.13"
}
}
我知道这看起来很明显,但请确保文件顶部有对正确 axios 的引用或安装它 https://www.npmjs.com/package/axios
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
我忘了导入 axios。我在脚本的顶部添加了:
import axios from 'axios';
我也忘记安装axios了。我通过 npm 安装了 axios 使用:
npm i axios --global
// --global flags will save you the stress of insstalling axios again.
解决了我的错误。
我想首先你必须安装
npm install axios --save
然后将其导入 app.js 文件
import axios from "axios";
您可以在 javascript 文件的顶部添加:
const axios = require('axios').default;
https://unpkg.com/axios/dist/axios.min.js <<在我的 html (script src="")
中链接了这个查看 npm 网站是否有变化https://www.npmjs.com/package/axios
然后我从我的 js 中删除了以下行...
const axios = require('axios')
我再也没有问题了!
已接受的答案包括三种主要补救措施,但还有第四种可能的补救措施。我将重复已经引用的完成
补救措施 1
在根项目文件夹中,安装Axios:
npm i axios --global
补救措施2
在使用axios的.js
文件中,导入axios:
import axios from 'axios';
补救措施3
从您的 webpack.config
externals: ['axios']
补救措施4
您不是通过 spelling/case 错误开始调用 axios。您可能会调用类似 await Axios
的内容,而不是正确的调用 await axios
.
像 this 这样的一些教程会造成案例拼写错误,这会给毫无戒心的新手带来极大的痛苦
第 1 阶段: 使用终端或 CMD 安装 Axios:
npm install axios --global
第 2 阶段: 将库导入您的 .js
import axios from 'axios';