webpack使用的心得

摘要:
1.我们需要使用打包工具,首先第一步就得执行npminstall进行安装,可是很多时候加载速度很慢,这个时候我们可以用淘宝镜像源,参考地址:https://npm.taobao.org/使用方法如下:npminstall--registry=https://registry.npm.taobao.org全局配置镜像源:淘宝镜像:在命令行中敲入npmconfigsetregistry=https:/

1 . 我们需要使用打包工具,首先第一步就得 执行 npm install进行安装,可是很多时候 加载速度很慢,这个时候我们可以 用淘宝镜像源,参考地址:

https://npm.taobao.org/

使用方法如下:

npm install --registry=https://registry.npm.taobao.org

全局配置镜像源:

淘宝镜像:在命令行中敲入npm config set registry=https://registry.npm.taobao.org

朗沃服务器镜像:在命令行中敲入npm config set registry=http://192.168.8.10:7001

这样速度就加快了很多了,不信请试试

或者直接安装 cnpm ,

安装cnpm: npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm -v 确认是否安装成功。以后加载模块直接使用 cnpm

以后安装包的时候就直接 cnpm install webpack速度就会快很多

2. 另外一个 是我们在项目中一般是 本地开发的时候一个 配置文件,发布的时候一个 配置文件,那如果我项目中配置本来不是很多的情况下,我不想分几个配置文件,只用一个webpack.config.js,可以是这样的话 我们就需要针对不用的开发环境 对配置进行管理,通常在插件里配置:

new webpack.DefinePlugin({
	'process.env': {
	'NODE_ENV': '"production"'
  }
})

然后在package.json文件里配置变量:

如:process.env是一个环境变量,所以需要你设置NODE_ENV变量,

on OS X or Linux:export NODE_ENV=development

windows: SET NODE_ENV=development

完整的命令如下:

export NODE_ENV=development && webpack 或者

export NODE_ENV=development && webpack-dev-server --inline

3. 还有一个 我们比较关注的是,在项目中我们希望打包多个css文件,在项目中根据情况引用,可以参考如下链接,讲解的非常清楚:

https://webpack.github.io/docs/stylesheets.html

4. 在项目中如果需要有全局变量,得用window去定义,比如有一个global.js文件里,如果需要把某个函数或者变量当成全局的,则可以这样:

global.js:

window.globalFun=function() {
  var test='123';
console.log(test);
}

在global.html文件引入global.js,这样在各个.js/.jsx文件就可以直接用globalFun这个全局函数了。

5. 在项目比较大的情况下,会有很多输入的文件,我们不可能手动的去一个个添加配置,因为文件也会随时变化,包括文件名也可以会做修改,所以我们可以用glob插件帮我们做正则匹配,

安装:npm install glob

使用:varglob=require('glob');

var files = glob.sync(path.join(staticPath, '*/js/*.jsx'));
var newEntries ={};

files.forEach(function(file){
    var substr = file.match(/resources/static(S*).jsx/)[1];
    var strObj=substr.split('/');
    if(strObj[1]=='public') {
        if(/global_page/.test(strObj)) {
            newEntries[substr] =file;
        }
    }
    else{
        newEntries[substr] =file;
    }
});
commonOptions.entry = newEntries;
console.log(newEntries);

6. 在项目中对图片的打包路径和格式

免责声明:文章转载自《webpack使用的心得》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇excel 导入 sqlserver 字符串被截取为255长度解决方案mybatis的嵌套查询(嵌套查询nested select和嵌套结果nested results查询)区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

React Native、Cordova开发必备的阿里源

maven { url "https://maven.aliyun.com/repository/public"}maven { url "https://maven.aliyun.com/repository/google"}maven { url "https://maven.aliyun.com/repository/gradle-...

使用cwRsync实现windows下文件定时同步

1.参考文献: 使用cwRsync实现windows下文件定时同步(备份) 文件同步工具CwRsync的使用方法及常用命令详解 2.背景: 当前的SCADA架构中,有1台Server,5台FE,还有1台Client。其架构如下图所示: 虽然叫法不同,但是他们的安装文件和配置文件是完全一样的。并且大多数情况下,也建议这些服务器上面的配置文件保持一致,这样只...

图形化显示 Python 函数之间的调用关系

0X01 安装方法 1.下载并安装graphviz 下载地址: https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi 注意:安装路径可任意选择 2.配置环境变量 比如我的安装路径是 E:Graphviz2.38 那么就在系统环境变量 path 中添加下面的项 E:Graph...

Preload与Prefetch的区别以及webpack项目中如何优化

preload 与prefetch 的区别 preload 是一个声明式 fetch,可以强制浏览器在不阻塞 document 的 onload 事件的情况下请求资源。 preload 顾名思义就是一种预加载的方式,它通过声明向浏览器声明一个需要提交加载的资源,当资源真正被使用的时候立即执行,就无需等待网络的消耗。 prefetch 告诉浏览器这个...

jmeter中CSV Data Set Config各项说明

Config the CSV Data Source: 1)Filename:csv文件的名称(包括绝对路径,当csv文件在bin目录下时,只需给出文件名即可) 2)File encoding:csv文件编码,可以不填 3)Variable Names(comma-delimited):csv文件中各列的名字(有多列时,用英文逗号隔开列名),这个变量名称是...

三、docker镜像创建

(一)生产环境 [root@hp-uas01~]# dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product" Manufacturer: HP Product Name: ProLiant DL380 Gen9 [root@hp-hp-uas01 ~]# uname -a Li...