如果换成./bundle.js也是一样能跑的,它们区别是什么?
./就是当前路径,
什么都不打 在你问题中那种情况和./没有区别。
但在如下情况会有区别
如果你装了node,并且在你项目是用js文件引用相关路径
ode会约定找当前目录node_modules文件夹加下的文件,如果没有会向上级找node_modules文件夹直至项目根目录。
bundle.js通过 webpack_require(0); 启动整个程序,先检查模块ID = 0是否在缓存对象中,若该模块的缓存存在返回 module.exports 即模块所暴露出来的数据,若该模块的缓存不在则新创建module对象(该module对象作用是用来指向真实模块)并加入到缓存对象中,此时由于module对象和该模块的缓存对象 installedModules[moduleId] 的exports属性为没有数据,所以需要通过执行该模块函数来返回具体require其他模块的数据,传入的上下文对象是 module.exports 和 installedModules[moduleId].exports 所共同指向的一个对象。当程序执行到 var text = webpack_require(1); 时,又会执行 modules[1].call ,然后 module.exports = 'Hello world'; 将执行 webpack_require(1) 时创建的module1的exports赋值为Hello world,并返回,此时 webpack_require(1) 执行完毕,text为Hello world并打印, webpack_require(0) 执行完毕。这是一个递归的过程,如果还有更多依赖模块的话会更明显。
./ 代表当前目录, 所以写与不写 效果一样,都能找到 bundle.js
windows下两个没区别,但是linux是需要以./来识别的
./ 代表当前目录,正常情况都是加比较好,虽然不加也没事
./代表当前路径,不写默认为域名配置的项目根目录
./是当前路径也就是相对路径 没有./可能会变成绝对路径也就是从你的盘符开始找,如果你的文件在在你当前路径下建议你加上./如果没有的话建议你复制文件路径