加入我要动态引入npm安装的依赖。比如 axios 或者 lodash。
那么:
let packageName = "axios", axios = require(packageName);
// Cannot find module 'axios'~~~~
是否能达到,我自己尝试会失败
加入我要动态引入npm安装的依赖。比如 axios 或者 lodash。
那么:
let packageName = "axios", axios = require(packageName);
// Cannot find module 'axios'~~~~
是否能达到,我自己尝试会失败
当然可以呀,require
就是个方法,参数是一个字符串,肯定可以呀,程序的基本逻辑
除非是import axios from 'axios'
这种是不可以的,因为它是另一直语法,为保证静态性不能使用任何变量
node环境直接跑是可以没问题的,比如你直接跑下面的代码应该是没问题的,找不到可能是因为你没安装axios
const test = 'fs';
require(test);
但如果你要用打包工具的话就有很多限制了
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
这句代码是定义一个变量packageName,是它的值等于字符串"axios",这个字符串"axios"跟插件axios没有关系。
此时你再使用
肯定会报Cannot find module 'axios'
require()用于引入模块、 JSON、或本地文件。
可以使用相对路径(例如 ./、 ./foo、 ./bar/baz、 ../foo)引入本地模块或 JSON 文件,路径会根据 __dirname 定义的目录名或当前工作目录进行处理。
不带路径的模块一般都是node_modules 模块或 Node.js 内置模块
let axios = require("axios")
此处的axios省略掉了路径node_modules或者node.js内置模块的路径。它跟字符串"axios"有本质的区别。