小编Mar*_*ian的帖子

如何使用React和Webpack设置Babel 6 stage 0

我从文档中了解到的

我看到Babel 6现在有三个预设:es2015,react和stage-x.我读到我可以这样设置.babelrc:

{
  "presets": ["es2015", "react", "stage-0"]
}
Run Code Online (Sandbox Code Playgroud)

或直接在package.JSON中如下:

{
  ...,
  "version": x.x.x,
  "babel": {
    "presets": ["es2015", "react", "stage-0"]
  },
  ...,
}
Run Code Online (Sandbox Code Playgroud)

我可以进一步使用带有webpack的babel-loader,如下所示:

loader: 'babel?presets[]=es2015'
Run Code Online (Sandbox Code Playgroud)


我的问题

所以为了编译所有好的和干净的我正在添加babel-loader,刚刚更新为使用Babel6,到这样的webpack配置:

module.exports = function(options) {
  var jsLoaders = ['babel?presets[]=es2015'];
  [...]
    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loaders: jsLoaders
      },
      {
        test: /\.jsx$/,
        exclude: /node_modules/,
        loaders: options.production ? jsLoaders : ['react-hot'].concat(jsLoaders)
      },
      [...]
Run Code Online (Sandbox Code Playgroud)


现在,当我在没有 .babelrc设置root或package.JSONpresets 选项的情况下进行编译时,即仅使用webpack配置中的babel-loader es2015预设集时,我的React组件类中出现了关于静态propTypes的意外标记错误:

ERROR in ./app/components/form/index.jsx
Module build failed: …
Run Code Online (Sandbox Code Playgroud)

config ecmascript-6 reactjs webpack babeljs

51
推荐指数
2
解决办法
3万
查看次数

GZIP CSS完全打破页面

谢谢你的光临.我自己真的尝试过这个,但是再一次对我来说似乎太过分了.

情况......


我和我自己的网站住在一个共享的主机上.当我想要压缩我的大量cms生成的js和css以使PageSpeedInsights和我自己开心时,我读到它并最终发现我的主机没有安装mod_gzip和mod_deflate.安装的是ZLIB.所以我搜索了.找到了典型的php附加解决方案并且不喜欢它.为htaccess找到了一些简洁的代码,这让我很开心因为他们马上工作了:

AddHandler application/x-httpd-php .html .htm .php .js
php_flag output_buffering On
php_value output_handler ob_gzhandler
php_flag zlib.output_compression Off
Run Code Online (Sandbox Code Playgroud)

我通过使用GIDZipTest确认它正在工作.这一切都很好,我喜欢它.

但是只要我将.css放到AddHandler列表中,我的页面就会完全中断.
我尝试使用带有ob_gzhandlerphp解决方案仅用于css文件,但它最终完全没有工作.只是做什么都没有.


解决方法吗?(并不是的)


我手动缩小了所有的CSS并上传了每个文件的css.gz版本,并提供了它

RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
Run Code Online (Sandbox Code Playgroud)

这也很好.


的问题!


  1. 我需要为css压缩定义/指定什么才能工作?我觉得我只是错过了一些转换的东西......

  2. 当我将我的手动缩小的.css.gz文件提供给客户端时,它们是否仍会被额外压缩?

  3. 这会在文件大小方面有任何进一步的优势吗?或者我应该坚持使用手动提供的版本并提供关于Google PageSpeed的**?
    (即使对于缩小的文件,GIDZipTest仍会显示"如果"场景,这是令人印象深刻的数字,说实话.我想那样......)

提前感谢您给出的任何评论.
此致

玛丽安

css compression .htaccess gzip zlib

6
推荐指数
1
解决办法
1912
查看次数

webpack-dev-server 404&如何正确设置?

我来自哪里

我已经使用webpack已有一段时间了,但这是我第一次没有为此修改入门套件,而是尝试从头开始进行所有设置。

我跟随着Surviv.js.com上的这篇不错的文章,并继承了那里描述的一些方法,将它们与我的一些早期设置结合在一起(例如根据发送的生产变量设置不同的名称和路径)。

在讲座期间,我尝试尽可能多地运行“构建”和“开始”,以免被无法跟踪的意外行为所困扰。这很好。

然后在某个时候摆弄有关从第三方框架中排除未使用的CSS 的章节时,我以某种方式破坏了开发服务器的设置"run build"仍然有效!)

问题

我的热服务器定义为192.168.1.2:3000(这正是我想要的方式)。当我webpack-dev-server使用下面进一步显示的设置运行时,在该位置显示404(无法获取/)。现在,我已经读了很多有关如何正确设置webpack开发服务器的信息,但是由于我仍然不完全了解如何正确设置Webpack开发服务器,所以我仍然做得不好...(很可能不是这里一个人...)。路径有效。

这是我的理解(通用开发服务器设置):

(如果我在这方面有误,请帮助我)

  • 我的输出路径webpack.config.js只会在运行开发服务器时在内存中提供,因此在物理上是不可见的(path: path.join(__dirname, 'devServerFolder'例如,如果输出是我创建的文件夹,那么如果在我的项目结构中找不到该文件夹​​,我将永远看不到该文件夹​​) )
  • 静态index.html指向我bundle.js将一个文件夹中需要的地方我指向与publicPath以及与contentBase(这可能是我的devServerFolder,我就需要创建与index.html它;通常在网络上大部份的设定同样public使用的文件夹来保存生产建立)
  • 如果我使用html-webpack-plugin该插件,它将自动为我生成该文件,而无需指向任何内容,因为bundle.js被插件写入了该文件

这些是真正使我难以理解的要点。我已经尝试了很多不同结合使用publicPathcontentBase设置时,运气不佳,无法重新建立我的开发服务器(工作正常)。 请注意,我在代码或使用编译我的版本时没有任何问题run build,它们可以正常运行并且应该正常运行。

配置

资料夹结构

webpack.test
|
| - app                    // App folder
     |
     | …
Run Code Online (Sandbox Code Playgroud)

configuration webpack webpack-dev-server html-webpack-plugin hot-module-replacement

5
推荐指数
1
解决办法
5454
查看次数

使用Javascript将Class添加到每个第3个元素

我正在尝试用javascript选择父级的每个第三个元素,并为其添加一个css类.对我来说听起来很简单,但我无法让它发挥作用.我发现这个线程对我来说看起来很不错,但是我用javascript这样的wuss,我的尝试没有解决:

var nodes = document.getElementsByClassName("ParentsClassName").childNodes;
for(i=0; i<nodes.length; i+=3) {
  this.className += ' newClassName';
}?
Run Code Online (Sandbox Code Playgroud)

当我加载它时,根本没有任何事情发生.
任何修复,eyeopeners和技巧赞赏.
问候,玛丽安

javascript selector nodes

4
推荐指数
2
解决办法
9415
查看次数