// test.js(function(fun) { fun()})(function() { console.log(this)})// A.jsimport './test.js'
这里this输出undefined
但是在vue2 中 request引入
this则不是undefined
我想知道是什么原因
说vue3 没this的这是我没想到的
然后我又写了个demo 看了下
index.html
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>import</title></head><body><script type="module"> import './test.js'</script></body></html>
test.js
(function(fun) { fun()})(function() { console.log(this)})
启动服务,打开浏览器输出还是undefined
静态的 import 语句用于导入由另一个模块导出的绑定。无论是否声明了 strict mode,导入的模块都运行在严格模式下。在浏览器中,import 语句只能在声明了 type="module" 的 script 的标签中使用
严格模式下,执行函数时没有执行主体,因此this指向undefined,非严格模式下的执行主体默认是window,因此this指向window。
vue3中不存在this
import引入本地js文件打包到线上不起作用 本地运行是好的 打包到线上就变成这样了 在本地注释import引入那行代码就是线上没生效这样
vite如何导入静态.js文件呢?因为我的项目是monorepo架构的,其中有一个common包被其他vue项目所公共引用,然后这个common包里需要动态加载一些.js、.json文件,如何才能在common包放入这些静态文件并直接导入?我试了函数中使用import可以动态导入一些.json文件,但是对于.js文件导入不了。 之前是分别放在引入common的主项目下的public下,然后使用ax
导入 Stylus支持字面@import CSS, 也支持其他Stylus样式的动态导入。 字面CSS 任何.css扩展的文件名将作为字面量。例如: @import "reset.css" 渲染如下: @import "reset.css" Stylus导入 当使用@import没有.css扩展,会被认为是Stylus片段(如:@import "mixins/border-radius")。 @i
原本本地创建的项目,都可以正常打开的,今天把它复制到了svn的文件夹中,并commit上去了,然后重新用vscode打开,npm i 了项目,但是每个文件中都有这种波浪线说找不到模块,请问有没有人知道什么原因的?
js import() 如何清除缓存?我有个需求需要动态导入一些js脚本,使用import()导入默认会有缓存,会有很大影响,如何才能实现每次导入的时候清除缓存? 加时间戳的方式其实我刚开始也试了,但使用的第一种方式,这种就会报错,但是我改成方式二,就可以,真奇怪,没有大佬能解释一下这个原因?使用的是vite
描述 (Description) 此函数是希望将名称导出到另一个模块的模块定义(或继承)的普通方法(子例程)。 use函数调用所用包的import方法。 语法 (Syntax) 以下是此函数的简单语法 - import LIST 返回值 (Return Value) 此函数不返回任何值。 例子 (Example) 以下是显示其基本用法的示例代码 - #!/usr/bin/perl package