鲁康 2017-01-05 09:50 采纳率: 0%
浏览 3020

webpack 打包 angular 的问题

我要死了,真的,调试了一天了
打包完美运行
angular已经全局设置,可以用
就是没办法在js里面调用 angular
可以在HTML里面调用angular
你说奇怪不奇怪

 var CommonsChunkPlugin = require("webpack/lib/optimize/CommonsChunkPlugin");
var path = require('path');
var webpack = require('webpack');
var fs = require('fs');
var uglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
var srcDir = path.resolve(process.cwd(), 'src');

//获取多页面的每个入口文件,用于配置中的entry
function getEntry() {
    console.log('srcDir:' + srcDir);
    var jsPath = path.resolve(srcDir, 'js');
    var dirs = fs.readdirSync(jsPath);
    var matchs = [], files = {};
    dirs.forEach(function (item) {
        matchs = item.match(/(.+)\.js$/);
        if (matchs) {
            files[matchs[1]] = path.resolve(srcDir, 'js', item);
        }
    });
    return files;
}

module.exports = {
    cache: true,
    devtool: "source-map",
    entry: getEntry(),
    output: {
        path: path.join(__dirname, "dist/js/"),
        publicPath: "dist/js/",
        filename: "[name].js",
        chunkFilename: "[chunkhash].js"
    },
    module: {
        loaders: [
            {
                test: require.resolve(srcDir + '/js/lib/angular-1.5.8.js'),
                loader: "exports?window.angular"
            }//对于非模块化的库,可以通过exports插件暴露出全局变量,如angular
        ],
        //配置webpack直接忽略不解析该文件的依赖关系。对于比较大的库很有用,如reactjs.主要提高打包速度。
        noParse: [
            srcDir + '/js/lib/angular-1.5.8.js'
        ]
    },
    resolve: {
        alias: {
            jquery: srcDir + "/js/lib/jquery.min.js",
            angular: srcDir + "/js/lib/angular-1.5.8.js",
            Config: srcDir + "/js/lib/config.js",
            core: srcDir + "/js/core",
            ui: srcDir + "/js/ui"
        }
    },
    plugins: [
        //提供全局的变量,在模块中使用无需用require引入
        new webpack.ProvidePlugin({
            jQuery: "jquery",
            angular: "angular",
            $: "jquery",
            Config: "Config"
        }),
        new CommonsChunkPlugin('common.js'),
        new uglifyJsPlugin({
            compress: {
                warnings: false
            }
        })
    ]
};
 console.log(angular);
$('body').append('<a>index</a>');
var app = angular.module('myApp', []);
app.controller('lukang', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

index.js:2 Error: [$injector:unpr] http://errors.angularjs.org/1.5.8/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20lukang

报错这个

要不就是 t.module is not 这个错 哎

  • 写回答

2条回答

  • 鲁康 2017-01-05 09:51
    关注

    坐等大神来救我!!坐等大神来救我!!坐等大神来救我!!坐等大神来救我!!

    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿