通过使用require(./filename)我可以包含并执行文件名内的代码,而不在文件名本身内定义任何导出.
ES6使用的等价物是什么import?
谢谢
我想将“jquery-validation”导入到 ES6 类中
import $ from 'jquery'
import 'jquery-validation'
Run Code Online (Sandbox Code Playgroud)
但是当我在同一个文件中的任何地方做
$(...).validate({...})
Run Code Online (Sandbox Code Playgroud)
我收到错误
Uncaught TypeError: $(...).validate is not a function
Run Code Online (Sandbox Code Playgroud) 我正在使用Vue.js但只是简单的JS文件而不是vue文件,我正在将一个组件导入我的主要,app.js如下所示:
import autoPosts from './components/autoPosts.js';
Run Code Online (Sandbox Code Playgroud)
它导入它很好,但我试图访问这些全局变量.在人们因使用全局变量而摧毁我之前,你能告诉我这是否可行.
const apiRoot = location.origin + '/wp-json/wp/v2/';
const acfApiRoot = location.origin + '/wp-json/acf/v3/';
import autoPosts from './components/autoPosts.js';
Run Code Online (Sandbox Code Playgroud)
它不读取apiRoot或acfApiRoot在该组件内,是否在变量之前或之后包含它.
它的唯一工作方式是我在组件文件中声明变量 autoPosts.js
我正在学习node.js,想知道为什么它使用require语法而不是importReact使用的语法。
即
const Validator = require("validator");
VS
import Validator from "validator";
我相信import是es6,但我不认为这可以解释为什么未在节点中使用它。
我正在将我的一个项目迁移到 TypeScript,在那个项目SweetAlert2 中库。
导入 SweetAlert2(JS 和 CSS)的默认方式是
import Swal from 'sweetalert2'
Run Code Online (Sandbox Code Playgroud)
这适用于 TypeScript,因为库中有类型:https : //github.com/sweetalert2/sweetalert2/blob/master/sweetalert2.d.ts
但在我的项目中,导入的方式是这样的:
import Swal from 'sweetalert2/dist/sweetalert2.js'
Run Code Online (Sandbox Code Playgroud)
这仅用于 JS 导入,没有样式。使用这种类型的导入,我收到 TS 错误:
Could not find a declaration file for module 'sweetalert2/dist/sweetalert2.js'.
ts(7016)
Run Code Online (Sandbox Code Playgroud)
我试图复制sweetalert2/sweetalert2.d.ts到sweetalert2/dist/sweetalert2.d.ts,但遇到另一个错误:
File 'node_modules/sweetalert2/dist/sweetalert2.d.ts' is not a module.
ts(2306)
Run Code Online (Sandbox Code Playgroud)
这里发生了什么,为什么 TS 抱怨dist/sweetalert2.d.ts不是模块?
javascript typescript javascript-import typescript-typings sweetalert2
为了在angualr4项目中导入jquery,我执行以下操作:
npm install --save jquery
npm install --save-dev @types/jquery
Run Code Online (Sandbox Code Playgroud)
在app.component.ts中
import $ from 'jquery';
or
import * as $ from 'jquery';
Run Code Online (Sandbox Code Playgroud)
当运行"ng serve"时,我遇到了这些错误
ERROR in C:/jquery-angular/jqueryintegration/node_modules/@types/jquery/index.d.ts (47,40): ',' expected.
ERROR in C:/jquery-angular/jqueryintegration/node_modules/@types/jquery/index.d.ts (2370,40): ',' expected.
.....
.....
.....
ERROR in C:/jquery-angular/jqueryintegration/node_modules/@types/jquery/index.d.ts (4311,85): ';' expected.
ERROR in C:/jquery-angular/jqueryintegration/node_modules/@types/jquery/index.d.ts (4311,92): Expression expected.
ERROR in C:/jquery-angular/jqueryintegration/node_modules/@types/jquery/index.d.ts (4455,1): Declaration or statement expected.
ERROR in C:/jquery-angular/jqueryintegration/node_modules/@types/jquery/index.d.ts (30,45): Generic type 'JQueryStatic<TElement, HTMLElement>' requires 2 type argument(s).
.....
.....
.....
ERROR in C:/jquery-angular/jqueryintegration/node_modules/@types/jquery/index.d.ts (4475,33): Generic type 'PlainObject<T, …Run Code Online (Sandbox Code Playgroud) 我是webpack的新手,我想知道是否有一种方法可以在导入中添加动态块名称和路径。我尝试这样做,但这是错误的
import(/* webpackChunkName: "${file_name}"*/ './modules/${js_path}')
要么
import(/* webpackChunkName: "'+file_name+'"*/ './modules/'+js_path+'')
仅供参考,我不能将[request]用作webpack chunck名称,因为它包括文件夹名称。
我尝试搜索类似的问题,但未成功。请帮忙。
TIA :)
我正在学习Javascript导入,当我们从另一个JS文件导入项目(函数,对象,变量)时使用花括号时我还没理解.
import Search from './models/Search';
import * as searchView from './views/searchView';
import { elements, renderLoader } from './views/base'
//elements is an object, renderLoader is a function
Run Code Online (Sandbox Code Playgroud) 我有一个 WebWorker,我想在其中使用另一个现有 JavaScript 文件中的函数。我尝试了不同的方法来导入 JS 文件,但到目前为止都没有奏效。有问题的文件位于另一个目录中,相关路径为“../pkg/benchmark.js”。
有没有人知道如何做到这一点?
我尝试了以下方法:
方法一:
import * as myFile from '../pkg/benchmark.js';
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
Uncaught SyntaxError: Unexpected token *
Run Code Online (Sandbox Code Playgroud)
方法二:
import { myFunc1, myFunc2 } from '../pkg/benchmark.js';
Run Code Online (Sandbox Code Playgroud)
给出错误:
Uncaught SyntaxError: Unexpected token {
Run Code Online (Sandbox Code Playgroud)
方法 3: 使用 importScripts()
importScripts('../pkg/benchmark.js');
Run Code Online (Sandbox Code Playgroud)
给出错误:
worker_wasm.js:6 Uncaught DOMException: Failed to execute importScripts' on 'WorkerGlobalScope': The script at http://localhost:8080/pkg/benchmark.js' failed to load.
Run Code Online (Sandbox Code Playgroud)
方法四: 使用动态导入:
import('../pkg/benchmark.js')
.catch(e => console.error(e));
Run Code Online (Sandbox Code Playgroud)
给出错误:
TypeError: Failed to fetch dynamically imported module: http://localhost:8080/pkg/benchmark.js
Run Code Online (Sandbox Code Playgroud)
由于我使用的是 npm,所以应该提到在 package.json 中我已经定义了依赖项
"dependencies": {
"benchmark": "file:../pkg" …Run Code Online (Sandbox Code Playgroud) 这是我的懒惰组件:
const LazyBones = React.lazy(() => import('@graveyard/Bones')
.then(module => ({default: module.BonesComponent}))
export default LazyBones
Run Code Online (Sandbox Code Playgroud)
我是这样导入的:
import Bones from './LazyBones'
export default () => (
<Suspense fallback={<p>Loading bones</p>}>
<Bones />
</Suspense>
)
Run Code Online (Sandbox Code Playgroud)
在我的测试中,我有这样的事情:
import * as LazyBones from './LazyBones';
describe('<BoneYard />', function() {
let Bones;
let wrapper;
beforeEach(function() {
Bones = sinon.stub(LazyBones, 'default');
Bones.returns(() => (<div />));
wrapper = shallow(<BoneYard />);
});
afterEach(function() {
Bones.restore();
});
it('renders bones', function() {
console.log(wrapper)
expect(wrapper.exists(Bones)).to.equal(true);
})
})
Run Code Online (Sandbox Code Playgroud)
我期望的是测试通过,并且 console.log 打印出来:
<Suspense fallback={{...}}>
<Bones /> …Run Code Online (Sandbox Code Playgroud) javascript ×8
ecmascript-6 ×4
node.js ×2
typescript ×2
angular ×1
es6-modules ×1
jquery ×1
reactjs ×1
require ×1
sinon ×1
sweetalert2 ×1
vuejs2 ×1
web-worker ×1
webpack ×1