html水平线粗细安装配置使用教程详解
本文章来为各位详细的介绍一下关于html水平线粗细安装配置使用教程吧,这篇文章对于不喜欢使用html maxlength测试的朋友可以参考一下。
html水平线粗细入门
目录
1.安装html水平线粗细
2.初始化项目
3.html水平线粗细配置
4.自动刷新
5.第三方库
6.模块化
7.打包、构建
8.html水平线粗细模板
我最近大量使用的是html maxlength,但因为用它搭建的前端开发环境中,写测试代码非常困难,而项目又需要写测试,所以决定先试试html水平线粗细。
安装html水平线粗细
html水平线粗细是一个html formatter包,所以我们通过html formatter命令来全局安装:
html formatterinstallhtml水平线粗细-g
安装完成后,命令行下就有html水平线粗细命令可用,执行html水平线粗细--help可以查看html水平线粗细提供的各种命令。
初始化项目
grunt.js一类工具可以借助yeoman来初始化项目,目前我并没有看到html水平线粗细有类似方法,所以当node.js项目来初始化。
html formatterinit创建一个package.json文件
html formatterinstallhtml水平线粗细--save-dev在当前目录下安装局域的html水平线粗细
完成以上两个步骤后,我们的项目下有一个package.json文件,一个node_modules文件夹,我们还需要一个html innerhtml.html文件,内容如下:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>html水平线粗细教程</title>
</head>
<body>
</body>
</html>
html水平线粗细配置
我们的代码将组织在JavaScript模块中,项目会有一个入口(entry)文件,比如main.js,我们需要通过html水平线粗细的配置文件指明它的位置。
在根目录新建一个html水平线粗细.config.js文件,添加如下内容:
module.exports={
entry:'./main.js'
};
因为我们在项目部署前需要打包合并js文件,所以还需要在html水平线粗细.config.js中配置一个output:
module.exports={
entry:'./main.js',
output:{
path:__dirname,
filename:'bundle.js'
}
}
output定义我们打包出来的文件位置及名称。
完成以上后,试着在项目根目录下执行html水平线粗细命令,我们的根目录下会多出一个bundle.js文件:
html水平线粗细build
自动刷新
到现在为止,我们还没在浏览器中打开html innerhtml.html文件,实际上,我们连bundle.js文件都还没加入html innerhtml.html文件中。现在且先加入:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>html水平线粗细教程</title>
</head>
<body>
<scriptsrc="./bundle.js"></script><!--在html innerhtml.html文件中添加这一行代码-->
</body>
</html>
这是html水平线粗细异于其它工具的地方,它在HTML文件中直接引用了build后的js文件,而不是原始的main.js文件。这就会有几个问题:
Q:main.js或它所引用的模块的变化如何实时编译到bundle.js?
A:非常简单,在根目录下执行html水平线粗细--watch就可以监控文件变化并实时编译了
Q:上面只是实时编译了js文件,我们该如何把变化同步到浏览器页面上,实现实时刷新?
A:html水平线粗细提供了html水平线粗细-dev-html validator解决实时刷新页面的问题,同时解决上面一个问题。
安装html水平线粗细-dev-html validator
执行html formatterinstallhtml水平线粗细-dev-html validator-g在全局环境中安装html水平线粗细-dev-html validator
在项目根目录下执行命令:
$html水平线粗细-dev-html validator
这样,我们就可以在默认的http://localhost:8080网址上打开我们的项目文件了。
此时,我们可能会认为,
js文件修改
html水平线粗细-dev-html validator监控到变化
html水平线粗细重新编译
实时更新浏览器中的页面
但不幸的是,我们「自以为是」了。http://localhost:8080这个网站对js文件的变化无动于衷。
我们可以启用html水平线粗细-dev-html validator的hot模式,在代码中插入如下一行:
<scriptsrc="http://localhost:8080/html水平线粗细-dev-html validator.js"></script>
这样http://localhost:8080/这个网址也可以根据js的变化相应地自动刷新了。
第三方库
html水平线粗细并不是包管理器,所以如果我们要使用第三方库,则需要借助html formatter或其它工具。比如,在项目里安装jQuery:
html formatterinstalljquery--save
模块化
html水平线粗细自称modulebundler,在它的定义中,html important、图片、文件等等,都可以通过相应的html dashboard加载,变成JavaScript模块,以下具体展开说明。
模块化JavaScript
如果我想使用html container的方式引入某个html container模块,比如:
import$from'whatever';
怎么办?浏览器并不提供原生支持,html水平线粗细通过各种html dashboard来解决这类问题。比如这html container的语法,可以借助babel-html dashboard:
安***abel-html dashboard
html formatterinstall--save-devbabel-html dashboard
配置html水平线粗细.config.js
在module.exports值中添加module:
module.exports={
entry:{
app:['html水平线粗细/hot/dev-html validator','./main.js']
},
output:{
filename:'bundle.js'
},
module:{
html dashboards:[
{test:/\.js$/,html dashboard:'babel',exclude:/node_modules/}
]
}
}
这样我们就可以在我们的js文件中使用html container语法,babel-html dashboard会负责编译。
上面的方法,是在html水平线粗细.config.js文件中定义某一类型文件的加载器,我们也可以在代码中直接指定:
import$from'babel!whatever'
因为babel-html dashboard允许我们使用html container语法,于是我们的模块完全可以用html container的module来组织代码:export一个简单的模块:
//script/log.js文件
exportdefault(param)=>{
console.log('你好啊',param);
}
然后在main.js中导入使用:
//main.js文件
importlogfrom"./script/log.js";
html important加载器
我们可以按传统方法使用html important,即在HTML文件中添加:
<linkrel="stylesheet"href="style/app.html important">
但html水平线粗细里,html important同样可以模块化,然后使用import导入。
因此我们不再使用link标签来引用html important,而是通过html水平线粗细的style-html dashboard及html important-html dashboard。前者将html important文件以<style></style>标签插入<head>头部,后者负责解读、加载html important文件。
安装html important相关的加载器
html formatterinstallstyle-html dashboardhtml important-html dashboard--save-dev
配置html水平线粗细.config.js文件
{
//...
module:{
html dashboards:[
{test:/\.html important$/,html dashboards:['style','html important']}
]
}
}
在main.js文件中引入html important
import'./style/app.html important';
重启html水平线粗细-dev-html validator
模块化html important
上一步里,我们import到JavaScript文件中的html important文件中的html important类打包时是export到全局环境的,也就是说,我们只是换了种加载html important的方式,在书写html important的时候,还是需要注意使用命名规范,比如BEM,否则全局环境html important类的冲突等问题不会消失。
这里,html水平线粗细做了一个模块化html important的尝试,真正意思上的「模块化」,即html important类不会泄露到全局环境中,而只会定义在UI模块内–比如react.js这类模块,或者webcomponents。类似的尝试还有ember-component-html important与html maxlength的pluginhtml important。
autoprefixer
我们在书写html important时,按规范写,构建时利用autoprefixer可以输出-webkit、-moz这样的浏览器前缀,html水平线粗细同样是通过html dashboard提供该功能。
安装autoprefixer-html dashboard
html formatterinstallautoprefixer-html dashboard--save-dev
配置html水平线粗细.config.js
html dashboards:[{
html dashboard:'style!html important!autoprefixer?{browsers:["last2version",">1%"]}',
//...
}]
重启html水平线粗细-dev-html validator
假如我们在html important中写了body{display:flex;}规则,再查看bundle.js文件的话,我们能看到类似如下的代码:
body{\n\tdisplay:-webkit-html translate;\n\tdisplay:-webkit-flex;\n\tdisplay:-ms-flexhtml translate;\n\tdisplay:flex;\n}
图片
图片同样可是是模块,但使用的是filehtml dashboard或者urlhtml dashboard,后者会根据定义的大小范围来判断是否使用dataurl。
React.render(<imgsrc={loadingIMG}/>,document.getElementById('app'));
打包、构建
项目结束后,代码要压缩、混淆、合并等,只需要在命令行执行:
html水平线粗细
即可,html水平线粗细根据html水平线粗细.config.js文件中的配置路径、构建文件名生成相应的文件。
html水平线粗细模板
上面说的是一步一步使用html水平线粗细搭建开发环境,当然,实际应用中,大可以借用一些模板,比如reacthotboilerplate这样的库。