标签: webpack-4

升级到 webpack 4 后,Angular 应用程序中的 InjectionToken 配置为否

我最近从 Webpack 2 升级到 4。Webpack 编译,并且大部分应用程序运行良好。它似乎是应用程序的损坏部分。我收到错误

NullInjectorError: No provider for InjectionToken config!
Run Code Online (Sandbox Code Playgroud)

我的module.ts文件如下

NullInjectorError: No provider for InjectionToken config!
Run Code Online (Sandbox Code Playgroud)

完整的错误信息是

import { enableProdMode, Inject, Injector, ErrorHandler } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
import { WsBootstrapService } from '../services/bootstrap';
import { WsBrandTypesService } from '../services/brandTypes';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { RouterModule, UrlHandlingStrategy, UrlTree } from '@angular/router';
import { FormsModule } from '@angular/forms';
import …
Run Code Online (Sandbox Code Playgroud)

angular webpack-4

7
推荐指数
1
解决办法
2万
查看次数

如何减少babel-polyfill尺寸(150 KB缩小)?

我只是设置了新的webpack 4项目,并在我的主js文件中导入了babel-polyfill

import 'babel-polyfill';

在webpack生产构建之后,我用source-map-explorer我看到这样的图片来分析我的bandle在此输入图像描述

所以babel-polyfill(core-js)需要150 Kb,这是IMO太多了.

有什么想法我怎么能减小尺寸?我不想包含任何特定的polyfills(应该有一些树抖动,所以不应该删除未使用的代码?).

我使用这个样板:https://github.com/flexdinesh/react-redux-boilerplate/tree/master/config

javascript babel webpack babel-polyfill webpack-4

7
推荐指数
1
解决办法
1405
查看次数

即使在生产模式下构建,VueJS也会显示"开发模式"消息

我遇到了让VueJS2(2.2.0)在生产模式下运行的问题.消息"您正在开发模式下运行Vue".总是出现在控制台中,即使我在生产模式下使用webpack构建它.根据https://vuejs.org/v2/guide/deployment.html,它应该足以在生产模式下运行webpack并且所有内容都会缩小,因此webpack似乎"知道"它在生产模式下运行,但是vueJs不参与.

我的webpack配置如下所示:

let webpack = require('webpack');
let path = require('path');

module.exports = {
  entry: {
    app: './src/app.js',
      vendor: ['vue', 'axios']
    },
  output: {
    path: path.resolve(__dirname, 'public/js'),
    filename: "[name].js",
    publicPath: './public',
  },
  optimization: {
    splitChunks: {
      cacheGroups: {
        vendor: {
          chunks: 'initial',
          name: 'vendor',
          test: /[\\/]node_modules[\\/]/,
        }
      }
    }
  },
  resolve: {
    alias: {
      vue: 'vue/dist/vue.js'
    }
  }
};
Run Code Online (Sandbox Code Playgroud)

为了构建我的缩小文件进行制作,我运行:

webpack --mode=production --hide-modules
Run Code Online (Sandbox Code Playgroud)

我还尝试在运行webpack(4.11.1)之前手动将NODE_ENV设置为"production",但没有区别......

我在这里错过了什么?

webpack vue.js vuejs2 webpack-4

7
推荐指数
1
解决办法
2793
查看次数

如何升级到Babel 7

我尝试将Webpack和babel分别升级到4、7,但是无法正常工作。另外,官方文档对升级没有太大帮助

我正在关注问题

编译器错误:找不到模块'@ babel / core'@多主体时出错

我正在使用的依赖项:

"babel-core": "^6.26.3",
"babel-eslint": "^9.0.0",
"babel-loader": "^8.0.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"webpack": "^4.15.0",
"webpack-cli": "^3.0.8",
"webpack-dev-server": "^3.1.4"
Run Code Online (Sandbox Code Playgroud)

如果需要更多详细信息,请告诉我。

babel reactjs babeljs babel-loader webpack-4

7
推荐指数
3
解决办法
1万
查看次数

错误:无法在 angular7 webpack 应用程序中解析 Location: (?) 的所有参数

在本地运行我不使用 angular-cli 创建的 node.js-angular7-webpack4.21 应用程序时,我在浏览器中收到以下错误:

Error: Can't resolve all parameters for Location: (?).
Run Code Online (Sandbox Code Playgroud)

我对这个问题进行了广泛的研究。首先,我没有任何组件、服务或其他命名的“位置”,所以我不知道编译器很难解析哪个实体的参数。其次,我的整个应用程序中只有 4 个服务,没有一个指向彼此,因此这不是循环依赖问题。我也没有忘记将 '@Injectable()' 装饰器正确放置在任一服务文件中。真的,经过三重和八重检查后,这不是问题。

此外,我已经用一个空的 angular6 项目重现了这个问题,该项目由 0 个服务和只有 1 个组件组成,模板中的 div 中只有单词,在这种情况下,我只收到关于“ApplicationModule”而不是“Location”的相同错误。所以即使我没有 webpack 错误,我也认为问题出在我的 webpack 配置中,因此我将把 webpack.config.js 和 tsconfig.js 文件放在下面,希望有人能找到关于它们的一些非常愚蠢的东西。

这是我的 tsconfig.json:

{
  "compilerOptions": {
  "target": "es5",
  "lib": ["dom", "es2017", "es5", "es6", "es7"],
  "outDir": "dist",
  "module": "commonjs",
  "moduleResolution": "node",
  "sourceMap": true,
  "emitDecoratorMetadata": true,
  "experimentalDecorators": true,
  "removeComments": true,
  "noImplicitAny": false,
  "typeRoots": ["types"],
  "types": ["node"]
},
  "exclude": ["node_modules"]
}
Run Code Online (Sandbox Code Playgroud)

这是我的 webpack.config.js:

var webpack = require('webpack');
var helpers …
Run Code Online (Sandbox Code Playgroud)

webpack angular angular6 webpack-4 angular7

7
推荐指数
1
解决办法
1187
查看次数

Webpack 4:mini-css-extract-plugin +文件加载器未加载资产

我正在尝试移动其中一个.scss文件中使用的素材资源(图像和字体),但似乎它们被忽略了:

这是我的.scss文件:

@font-face {
    font-family: 'myfont';
    src: url('../../assets/fonts/myfont.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

body {
    color: red;
    font-family: 'myfont';
    background: url('../../assets/images/bg.jpg');
}
Run Code Online (Sandbox Code Playgroud)

这是我的webpack.config.js

const path = require('path');
const { CheckerPlugin } = require('awesome-typescript-loader');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {
    target: 'node',
    entry: path.resolve(__dirname, 'server.tsx'),
    output: {
        filename: 'server_bundle.js',
        path: path.resolve(__dirname, 'build'),
        publicPath: '/build'
    },
    resolve: {
        extensions: ['.ts', '.tsx', '.js', '.jsx']
    },
    module: {
        rules: [{
                test: /\.(tsx|ts)?$/,
                loader: 'awesome-typescript-loader',
                options: { …
Run Code Online (Sandbox Code Playgroud)

css sass webpack webpack-4 mini-css-extract-plugin

7
推荐指数
1
解决办法
2493
查看次数

未捕获的类型错误:__webpack_require__(...).context 不是函数

当我尝试使用以下代码动态导入 vue 组件时:

const components = require.context('./', true, '/^index\.js$/');
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

app.js:9 Uncaught TypeError: __webpack_require__(...).context is not a function
    at Module../asset/app.js (app.js:9)
    at __webpack_require__ (bootstrap:782)
    at fn (bootstrap:150)
    at Object.0 (app.293d5fe1d8a073fed37a.bundle.js:1747)
    at __webpack_require__ (bootstrap:782)
    at checkDeferredModules (bootstrap:45)
    at bootstrap:858
    at bootstrap:858
Run Code Online (Sandbox Code Playgroud)

这是为什么?如何解决?我错过了什么?

webpack webpack-4

7
推荐指数
3
解决办法
7441
查看次数

Webpack 卡住了。如何获得更多信息 为什么?

我有一个项目是旧电极项目的升级版本,对 webpack 4、babel 运行时等进行了一些升级。

npm run build工作正常。(它这样做是:rimraf lib doc && clap build && bundlesize

clap dev被卡在这里:

...
<s> [webpack.Progress] 94% after seal
<s> [webpack.Progress] 95% emitting
<s> [webpack.Progress] 95% emitting stats-writer-plugin
<s> [webpack.Progress] 95% emitting unnamed compat plugin
<s> [webpack.Progress] 95% emitting unnamed compat plugin
<s> [webpack.Progress] 95% emitting inspectpack-duplicates-plugin
<s> [webpack.Progress] 98% after emitting
<s> [webpack.Progress] 98% after emitting unnamed compat plugin
Total precache size is about 4.77 MB for 22 resources.
Run Code Online (Sandbox Code Playgroud)

不确定这是 xclap …

node.js webpack webpack-4

7
推荐指数
0
解决办法
2331
查看次数

chunkName 未显示在带有 webpack 4 的 angular 8 延迟加载中

LazyLoading chunkName 未显示

webpack.config.js

const webpack = require('webpack');
const path = require('path');

var PROD = JSON.parse(process.env.PROD_ENV || '0');

module.exports = {
    entry: {
        clientApp: "./App/Modules/main",
    },
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: "[name].bundle.js",
        chunkFilename: '[name]-[chunkhash].js',
        publicPath: '/dist/',
    },
    resolve: {
        extensions: ['.js']
    },
    module: {
        loaders: [ 
            'angular-router-loader'
        ]
    },

    plugins: [
    ]
}
Run Code Online (Sandbox Code Playgroud)

app.routing.ts

{
                path: 'about',     
                loadChildren: () => import('../Features/about/about.module').then(m => m.AboutModule)   
            }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

它不显示块的模块名称。我在这里做错了什么?

lazy-loading angular-routing webpack-4 angular8

7
推荐指数
1
解决办法
571
查看次数

如何禁用 webpack 4 代码拆分?

我正在使用 webpack 4.43.0。

如何防止在 webpack 中发生代码拆分?所有这些文件被创建-0.bundle.js多达11.bundle.js(旁边的预期bundle.js),当我运行webpack。这是我的 webpack 配置:

/* eslint-env node */

const path = require('path');

module.exports = {
    entry: './media/js/src/main.jsx',
    mode: process.env.WEBPACK_SERVE ? 'development' : 'production',
    output: {
        path: path.resolve(__dirname, 'media/js'),
        filename: 'bundle.js'
    },
    resolve: {
        extensions: ['*', '.js', '.jsx']
    },
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                include: path.resolve(__dirname, 'media/js/src'),
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-env', '@babel/preset-react']
                    }
                }
            }
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

javascript webpack code-splitting webpack-4

7
推荐指数
1
解决办法
3790
查看次数