我正在使用ES6,typeahead&我的项目的webpack。
下面是我的webpack配置文件:
var path = require("path");
var HtmlWebpackPlugin = require('html-webpack-plugin');
var HtmlWebpackExcludeAssetsPlugin = require('html-webpack-exclude-assets-plugin');
var webpack = require("webpack");
var CopyWebpackPlugin = require('copy-webpack-plugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
var extractCSS = new ExtractTextPlugin('stylesheets/[name].css');
var extractSCSS = new ExtractTextPlugin('stylesheets/[name].css');
module.exports = {
context: path.resolve(__dirname, 'src'),
entry: '.',
output: {
path: path.resolve(__dirname, "builds/web"),
filename: 'bundle.js',
},
module: {
rules: [{
test: /\.js/,
include: [
path.resolve(__dirname, "src")
]
}]
},
devtool: 'source-map',
resolve: {
alias: {
jquery: "jquery/src/jquery"
},
extensions: [".js",".json"]
},
plugins: [
new HtmlWebpackPlugin({
title: 'Custom template using Pug',
template: 'index.pug',
inject: true,
excludeAssets: [/bundle.js/]
}),
new HtmlWebpackExcludeAssetsPlugin(),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.Tether": 'tether'
}),
extractCSS,
extractSCSS
]
};
在我的bundle.js中,我得到了所需的typeahead依赖项,这会导致问题。当我在我的角度模块中注入时,它会抛出错误。
app.js :( app.js代码的一部分)
import "typeahead";
export class AppClass {
constructor() {
this.module = angular.module("appModule", ['typeahead']);
}
}
依赖关系:
"devDependencies": {
"babel-preset-es2015": "^6.18.0",
"copy-webpack-plugin": "^4.0.1",
"html-webpack-exclude-assets-plugin": "0.0.3",
"ng-sortable": "^1.3.7",
"pug": "^2.0.0-beta6",
"webpack": "^2.2.1",
"webpack-append": "^0.1.2",
"webpack-dev-server": "^2.4.2"
},
"dependencies": {
"angular": "1.5.6",
"angular-messages": "1.5.7",
"angular-slick-carousel": "^3.1.7",
"angular-ui-bootstrap": "^0.14.3",
"angular-ui-mask": "^1.8.7",
"angular-ui-router": "^0.3.2",
"babel-core": "^6.18.2",
"babel-loader": "^6.2.7",
"bluebird": "^3.4.6",
"bootstrap": "4.0.0-alpha.2",
"css-loader": "^0.25.0",
"exports-loader": "^0.6.3",
"extract-text-webpack-plugin": "^2.0.0-rc.0",
"file-loader": "^0.9.0",
"html-webpack-plugin": "^2.24.1",
"jquery": "2.2.4",
"json-loader": "^0.5.4",
"lodash": "^4.17.0",
"moment": "^2.17.1",
"node-sass": "^3.11.2",
"pug-loader": "^2.3.0",
"sass-loader": "^4.0.2",
"slick-carousel": "^1.6.0",
"style-loader": "^0.13.1",
"tether": "^1.4.0",
"url-loader": "^0.5.7",
"webcomponents-lite": "^0.6.0"
}
我猜测typeahead.js是没有导出语法的普通库,我试图导入它无法创建模块功能。
有什么想法吗?或者任何人都面临同样的问题?