Webpack - 捆绑

时间:2017-03-22 08:33:56

标签: json webpack bundle

我有以下问题。我的webpack是从node_modules捆绑文件。我怎么能阻止他这样做呢?他这样做,因为我从main.ts中的node_modules导入文件,但我必须这样做。我究竟做错了什么?

main.ts

file.findAll(/version=\"$version$\"/)

tsconfig.json

import { NgModule } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';
@NgModule({
    imports: [ BrowserModule ],
    exports: [],
    declarations: [AppComponent],
    providers: [],
})
export class AppModule { }
platformBrowserDynamic().bootstrapModule(AppModule);

webpack.config.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es2015", "dom"],
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true
  }
}

的package.json

var webpack = require('webpack');

module.exports = {
    entry : __dirname + '/src/main.ts',
    output: {
        path: __dirname + '/dist',
        filename: 'app.bundle.js'
    },
    module: {
        rules: [
            {
                test: /\.ts$/,
                loader: 'ts-loader'
            }
        ]
    },
    resolve: {
        extensions: ['.js','.ts']
    }
};

1 个答案:

答案 0 :(得分:1)

测试.js文件并排除加载器中的节点模块,例如使用javascript(react)与babel-loader:

{
    "expires_in": 86400,
    "refresh_token": "55379e18b6c6ce1ca6b39a77f15549a3",
    "access_token": "7c6af5939cbecd7ccd83acf57b40bb"
}

在main.js文件中,您可以 { test: /.js?$/, loader: 'babel-loader', exclude: /node_modules/, query: { presets: [ 'es2015', 'react', 'stage-0', ], } }, ,其中'module'是组件的名称。如果您像这样引用它,Webpack会捆绑它。

示例,如果我想包含React:import Module from 'module' - 不需要相对路径。