⑴ 用vscode写javascript的教程(vscode搭建javascript开发环境)
如何用visualstudiocode调试javascriptvscode使用task.json来配置项目的构建过程。
打开命令面板(Ctrl+Shift+P)选择RunBuildTask(Ctrl+Shift+B)
如果当前工作空间没有task.json配置文件此时会出现提示
选择ConfigureTaskRunner自动创建task.json。该配置文件在工作空间的.vscode目录下,这个目录也是存放vscode配置的文件夹。
vscode默认的task配置文件中给出了执行tsc和gulp模板配置。简单介绍一下task.json的写法
{
"version":"0.1.0",
//要使用的命令或者可执行文件的路径
"command":"tsc",
//对应command参数,是否是一个命令,否则为执行文件路径
"isShellCommand":true,
//是否在执行task任务时显示控制台窗口
"showOutput":"always",
//对应command参数指定程序的参数
"args":["-p","src","--allowJs","-w"],
//不太明白这个,基本用不到
"problemMatcher":"$tsc",
}
vscode怎么运行javascript1、直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件)
在launch.json文件中的配置如下:
{
"version":"0.2.0",
"configurations":[{
"name":"谷歌浏览器",//运行html文件,用谷歌浏览器打开
"type":"chrome",
"request":"launch",
"url":"${file}",
"sourceMaps":true,
"webRoot":"${workspaceRoot}"
},
{
"name":"nodeLauch",//单独调试js,即可以直接运行js
"type":"node",
"request":"launch",
"program":"${file}",//这个配置成你要调试的文件、${file}当前打开的文件
"stopOnEntry":false,
"args":[],
"cwd":"${workspaceRoot}",
"runtimeExecutable":null,
"runtimeArgs":[
"--nolazy"
],
"env":{
"NODE_ENV":"development"
},
"console":"internalConsole",
"preLaunchTask":"",
"sourceMaps":false,
"outDir":null
}
]
}
2、第二种方法?Ctrl+Shift+B?快捷键运行html文件,在Tasks.json中配置如下:
{
"version":"0.1.0",
"command":"",
"isShellCommand":false,
"args":["${file}"],
"showOutput":"always",
"windows":{
"command":"C:/Users/shannonliang/AppData/Local/Google/Chrome/Application/chrome.exe"
},
"tasks":[{
"taskName":"webserver",
"isBuildCommand":true,
"showOutput":"always"
}]
}
3、如果第二种方法,不想每次都按这个快捷键,请参考npm配置node服务方法:
如何在vscode中使用nodejs一、使用Express创建项目[这两步都在dos模式下执行]
1,安装全局的Express!(已安装请忽略)
npminstall-gexpress
2,创建项目
创建项目(创建文件夹名称ExpressApp)
expressExpressApp
小插曲:如果你习惯了linux下的环境,你可以在自己电脑上安装cmder(不知道是什么东西,请自行网络),这个命令行工具排版漂亮,不像微软的dos那么枯燥!我用的是Mini版本,如果你想体验linux下的全部功能,可以下载full版本。
3,下载第三方包
(1)cmd命令行切换到项目目录
cdd: odejsExpressApp
(2)根据需要编辑package.json,运行如下指令安装第三方包
npminstall
在项目目录下node_moles可见安装好的第三方包
ExpressApp
|–node_moles
(3)运行项目
npmstart
输出如下:
[email protected]:Nodejs_WorkspaceExpressApp
node./bin/www
注:npmstart指令会自动执行node./bin/www
在浏览器中输入,可访问Express欢迎页面
二、使用VSCode开发Nodejs
1、VSCode打开Nodejs
coded: odejsExpressAppcode.
注:在当前项目下创建ExpressApp.bat,输入“code.”即可,下次直接此文件直接使用VSCode打开Nodejs项目
2、添加智能提示
VSCode打开Nodejs项目,默认是没有智能提示。
(1)使用TypeScriptDefinitionManager(TSD)在项目中下载所需的tsd文件,VSCode中打开时有智能
全局安装tsd(如已安装忽略)
npminstall-gtsd
下载所需的组件提示(以下载node、express、requirejs提示为例)
tsdquerynode--actioninstalltsdqueryexpress--
注:
①多个提示组件在query参数后可以空格分隔简写为tsdquerynodeexpress–actioninstall
②组件会项目目录下添加typings文件夹
|–typings
|–node
|–express
|–require
(2)添加js文件引用的智能提示
假如在文件引用另外一个文件common.js时,文件头添加如下
{//See//.jsonformat"compilerOptions":{"target":"es6","mole":"commonjs","allowSyntheticDefaultImports":true},"exclude":["node_moles","bower_components","jspm_packages","tmp","temp"]}
(小提示,如果你引入了rquire,那么你的编辑器右下方会显示一个“灯泡”的提示,你只要点灯泡就不用自己苦逼的写这个配置文件了)
此配置表示代码服从ES5标准并使用commonjs规范,发VScode下有此配置之后,可以实现在文件中对require引用js文件的智能提示。(我测试时无此配置也会有智能提示,不清楚什么原因)
vscode编辑javascript如何多行操作编辑?在VisualStudioCode中,您可以通过使用多行编辑来快速编辑多行JavaScript代码。您可以通过以下方法使用多行编辑:
单击鼠标左键在第一行代码上。
在键盘上按下Shift键,并同时单击鼠标左键在最后一行代码上。
在键盘上按下Alt键,并单击鼠标左键在任意多行代码上。
通过在编辑器中单击鼠标右键,并选择“多行编辑”来选择多行代码。
在选择多行代码后,您可以使用编辑器的编辑功能(如复制、粘贴、剪切、删除等)来编辑所选行。您还可以使用编辑器的格式化功能(如自动缩进、代码折叠等)来整理所选行的格式。
vscode使用教程是?vscode使用教程:
安装:
安装的东西没什么好说的,自行下载安装吧,伙计。
配置:
用户配置:
vscode的用户配置分3个级别,分别是默认配置、全局配置和工作区配置,优先级也依次递增。对于团队项目,一些规范可以通过项目目录下建一个.vscode/setting.json文件进行配置。
快捷键绑定:
参考官方文档,文档中列出了所有指令对应的快捷键。快捷键我只修改了两个与系统软件冲突的。
代码片段:
这个功能很像webstorm的livetemplate的功能,虽然提示的时候没有webstorm那么精准和顺手,不过总的来说,够用。
设置语法遵循TextMate代码片段语法,你可以通过安装别人写好的snippet插件,如果别人写的snippet你用得不爽,那么自己写也简单。
之前使用这个代码片段有个痛点就是只能用方向键上下选择提示,如果能使用ctrl+n/p上下选择的话就更舒服了,没想到现在已经支持了。
另外,有没有人知道怎么设置代码提示内容,比如输入result提示了XPathResult是什么鬼。
插件:
4个月前刚知道vscode的时候,那时感觉插件还没有那么多,现在重新看了一下,真是应有尽有。牛逼啊!
这里介绍几个我用过觉得不错的插件
用户配置同步VisualStudioCodeSettingsSync。Git历史GitHistory。
文件图标vscode-icons。缩进辅助线Guides。
VisualStudioCode(以下简称vscode)是一个轻量且强大的代码编辑器,支持Windows,OSX和Linux。
内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持C++、C#、Python、PHP等其他语言。
vscode不能创建javascriptvscode不能创建javascript
vscode创建js文件的方法:首先点击vscode中的【新建文件】;然后选择文件类型为【js】;最后在弹出的界面中选择语言模式为【javascript】即可。
⑵ gulp的简单介绍与应用
了解并使用 Gulp 构建工具可以显著提升开发效率,其核心是基于流,提供了一种简洁、高效的方式进行项目构建。下面简要介绍 Gulp 的安装、基本用法及插件使用。
首先,确保安装了 Node.js 和 npm。安装好后,创建项目文件夹并初始化 npm。全局安装 Gulp(如果尚未安装),然后按照步骤搭建项目基本框架。安装 Gulp 到项目中,并创建 gulpfile.js 文件作为自动化任务的中枢。
Gulp 提供一系列 API 功能,如 src()、dest()、series() 等,用于资源映射、文件系统操作和任务执行。以 src 文件夹下的 HTML 文件为例,使用 gulp 任务将它们复制到 dist 目录,通过命令运行 Gulp。查看 dist 文件夹,HTML 文件已复制成功。在浏览器打开 dist 下的 HTML 页面,发现缺失 CSS 和 JS 文件。通过同样方式将 CSS 和 JS 文件复制至 dist,运行 Gulp 后,页面显示样式和输出。
Gulp 插件是丰富其功能的重要方式。在官网查找 Gulp 插件,例如 gulp-htmlclean、gulp-clean-css、gulp-uglify、gulp-imagemin、gulp-less、gulp-strip-debug 等。安装并导入插件后,可以实现 HTML、CSS、JS 的压缩,图片的压缩,以及 less 文件转换为 css 等优化操作。以 gulp-htmlclean 为例,安装后在 gulpfile.js 中引入插件,运行 Gulp,对比压缩前后 HTML 文件,直观看到压缩效果。其他插件的使用方法类似,通过命令安装、导入并执行相应任务。
Gulp 还提供了 watch() API,用于监听文件变动。在开发过程中,当修改 HTML、CSS、JS 文件时,无需手动运行 Gulp,文件变动后自动触发任务执行,提升开发效率。通过配置监听事件,设置 Gulp 运行,更改文件后,dist 文件夹下相应文件自动更新。同时,开启自动刷新功能,确保实时预览更改效果。
Gulp 的自动化构建和文件监听功能,大大简化了前端开发的构建流程,提高了工作效率。通过合理利用 Gulp 的插件和 API,可以实现高效的代码优化、自动化构建和实时反馈,使开发过程更加流畅。
⑶ 详解如何在微信小程序中愉快地使用sass
前言
在微信小程序中,css是用wxss来表示,但写法基本一致。需要注意的是wxss扩展了两个特性,分别是:
尺寸单位
样式导入
具体可参考wxss,此处不做过多赘述。
为了方便打包sass,我们使用gulp来处理我们的scss文件,将其转换为wxss。
目录结构
在开发中,我们一般会有一个src源代码目录,一个dist目录用来输出我们打包的代码。而本次讲解用到的目录结构如下:
build目录用来配置我们的打包参数,目前里面只有一个config.js文件
dist目录为打包输出的目录,也是小程序运行的目录
gulpfile.js配置打包的任务
src就是我们的源代码目录
src的目录结构如下:
安装依赖
yarn add gulp gulp-sass gulp-rename gulp-replace gulp-tap gulp-clean -D
gulp和gulp-sass为打包sass必须,gulp-rename则负责把scss后缀改为wxss,gulp-replace负责内容的替换(这个后面会讲到),gulp-tap用来处理当前执行的文件,gulp-clean负责清除我们不需要的文件。
sass打包配置
gulp配置打包sass非常简单,代码如下:
const gulp = require('gulp');
const sass = require('gulp-sass');
const rename = require('gulp-rename');
gulp.task('sass', () => gulp.src('./src/**/*.{scss,wxss}')
.pipe(sass().on('error', sass.logError))
.pipe(rename({
extname: '.wxss'
}))
.pipe(gulp.dest('./dist'))
);
这样就可以完成了sass的配置,但是这样会有问题。前面讲到了wxss是支持样式导入的,也就是说import语法wxss是支持的,但css不支持,因此sass打包会把import的文件打包到当前文件,从而导致当前文件的体积变大。由于微信限制单包代码不能超过2M,因此当css越写越多的时候,这种打包方式势必会使样式文件越来越大。
解决import导入问题
那如何解决import的导入问题呢,其实也比较简单,说白了就是sass处理的时候,让其不处理import部分的语句就可以了。有两种方式可以做到,第一种是改写sass处理的源码,当遇到import语句时跳过。第二种是,在把文件交给sass处理前,我们先把import语句部分注释掉,这样sass处理的时候就会忽略了,当sass处理完成后,再把注释掉的语句打开即可。显然第一种成本比较高,也不好维护。我们采用第二种,代码如下:
const gulp = require('gulp');
const sass = require('gulp-sass');
const replace = require('gulp-replace');
const rename = require('gulp-rename');
const clean = require('gulp-clean');
const tap = require('gulp-tap');
const path = require('path');
const config = require('./build/config');
const hasRmCssFiles = new Set();
gulp.task('sass', () => gulp.src('./src/**/*.{scss,wxss}')
.pipe(tap((file) => {
// 当前处理文件的路径
const filePath = path.dirname(file.path);
// 当前处理内容
const content = file.contents.toString();
// 找到filter的scss,并匹配是否在配置文件中
content.replace(/@imports+['|"](.+)['|"];/g, ($1, $2) => {
const hasFilter = config.cssFilterFiles.filter(item => $2.indexOf(item) > -1);
// hasFilter > 0表示filter的文件在配置文件中,打包完成后需要删除
if (hasFilter.length > 0) {
const rmPath = path.join(filePath, $2);
// 将src改为dist,.scss改为.wxss,例如:'/xxx/src/scss/const.scss' => '/xxx/dist/scss/const.wxss'
const filea = rmPath.replace(/src/, 'dist').replace(/.scss/, '.wxss');
// 加入待删除列表
hasRmCssFiles.add(filea);
}
});
console.log('rm', hasRmCssFiles);
}))
.pipe(replace(/(@import.+;)/g, ($1, $2) => {
const hasFilter = config.cssFilterFiles.filter(item => $1.indexOf(item) > -1);
if (hasFilter.length > 0) {
return $2;
}
return `/** ${$2} **/`;
}))
.pipe(sass().on('error', sass.logError))
.pipe(replace(/(/**s{0,})(@.+)(s{0,}**/)/g, ($1, $2, $3) => $3.replace(/.scss/g, '.wxss')))
.pipe(rename({
extname: '.wxss',
}))
.pipe(gulp.dest('./dist')));
在处理import的时候,还有个地方是需要注意的。在sass中,import除了能引入css外,也可以引入变量,函数。因此,我们在处理的时候也需要注意区分,变量和函数最好有一个独立的文件目录存放,并且在import的时候,对于变量和函数,是必须交给sass处理的,也就是不能注释掉。因此,在上面的代码中,我们可以看到,我们引入了build目录下的config,其配置了sass变量和函数存放的位置,这样我们在打包的时候,遇到这样的import语句,我们就跳过,交给sass处理,否则就代表其是引入了共用的样式文件,这样我们交给sass处理前,就先将其注释掉,sass处理完成后再把注释打开。另外,import的可能是一个scss文件,但在转成wxss的时候,已经将其后缀改为了wxss,因此,在将注释打开的时候也需要更改相应的引入,这也就是gulp-replace包的作用。config的配置如下:
mole.exports = {
cssFilterFiles: ['scss/var.scss'],
};
清理无用的wxss文件
前面讲了,我们在sass中可能会定义一些变量,函数,这些文件一会一并打包到dist目录,但其内容是空的,这时候我们就需要对其进行清理,前面在打包过程中,我们有一个set变量hasRmCssFiles记录了相应的文件,这样我们遍历这个变量即可删除相应的文件,代码如下:
gulp.task('clean:wxss', () => {
const arr = [];
hasRmCssFiles.forEach((item) => {
arr.push(item);
});
return gulp.src(arr, { read: false })
.pipe(clean({ force: true }));
});
总结
wxss的特性
sass打包配置以及如何处理import语句
sass变量、函数的文件清理