Json 网页包-捆绑
我有以下问题。我的网页包正在绑定来自node_模块的文件。我怎样才能阻止他那样做?他这样做是因为我从main.ts中的node_模块导入文件,但我必须这样做。我做错了什么 main.tsJson 网页包-捆绑,json,webpack,bundle,Json,Webpack,Bundle,我有以下问题。我的网页包正在绑定来自node_模块的文件。我怎样才能阻止他那样做?他这样做是因为我从main.ts中的node_模块导入文件,但我必须这样做。我做错了什么 main.ts import { NgModule } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { BrowserModule } from '@angula
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);
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": ["es2015", "dom"],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
}
}
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']
}
};
{
"name": "angular2",
"version": "1.0.0",
"scripts": {
"start": "webpack --progress"
},
"dependencies": {
"@angular/common": "~2.4.0",
"@angular/compiler": "~2.4.0",
"@angular/core": "~2.4.0",
"@angular/forms": "~2.4.0",
"@angular/http": "~2.4.0",
"@angular/platform-browser": "~2.4.0",
"@angular/platform-browser-dynamic": "~2.4.0",
"@angular/router": "~3.4.0",
"core-js": "^2.4.1",
"rxjs": "5.0.1",
"zone.js": "^0.7.4"
},
"devDependencies": {
"ts-loader": "^2.0.2",
"typescript": "^2.2.1",
"typings": "^2.1.0",
"webpack": "^2.3.0"
}
}
webpack.config.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": ["es2015", "dom"],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
}
}
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']
}
};
{
"name": "angular2",
"version": "1.0.0",
"scripts": {
"start": "webpack --progress"
},
"dependencies": {
"@angular/common": "~2.4.0",
"@angular/compiler": "~2.4.0",
"@angular/core": "~2.4.0",
"@angular/forms": "~2.4.0",
"@angular/http": "~2.4.0",
"@angular/platform-browser": "~2.4.0",
"@angular/platform-browser-dynamic": "~2.4.0",
"@angular/router": "~3.4.0",
"core-js": "^2.4.1",
"rxjs": "5.0.1",
"zone.js": "^0.7.4"
},
"devDependencies": {
"ts-loader": "^2.0.2",
"typescript": "^2.2.1",
"typings": "^2.1.0",
"webpack": "^2.3.0"
}
}
package.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": ["es2015", "dom"],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
}
}
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']
}
};
{
"name": "angular2",
"version": "1.0.0",
"scripts": {
"start": "webpack --progress"
},
"dependencies": {
"@angular/common": "~2.4.0",
"@angular/compiler": "~2.4.0",
"@angular/core": "~2.4.0",
"@angular/forms": "~2.4.0",
"@angular/http": "~2.4.0",
"@angular/platform-browser": "~2.4.0",
"@angular/platform-browser-dynamic": "~2.4.0",
"@angular/router": "~3.4.0",
"core-js": "^2.4.1",
"rxjs": "5.0.1",
"zone.js": "^0.7.4"
},
"devDependencies": {
"ts-loader": "^2.0.2",
"typescript": "^2.2.1",
"typings": "^2.1.0",
"webpack": "^2.3.0"
}
}
测试.js文件并排除加载程序中的节点模块,例如使用javascript(react)和babel加载程序:
{
test: /.js?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: [
'es2015', 'react', 'stage-0',
],
}
},
在main.js文件中,您可以从'Module'导入模块,其中'Module'是组件的名称。如果你这样引用它,Webpack会把它捆绑起来
如果我想包括React,示例:
从“React”导入React
-不需要相对路径 这是angular2项目:)我意识到;不会改变这样一个事实,即您可以使用上述方法排除加载程序中的节点_模块。这只是一个示例:)好的,所以我将exclude:/node\u modules/添加到我的ts加载程序中,但它仍然会转到node\u modules。实际上,当我按下tsc时,它并没有这样做:)网页有问题:/你说它进入你的节点模块是什么意思?它会将其中的所有内容编译到app.bundle.js吗?是的,它会编译我在main.ts中导入的node_模块中的所有内容:)